1 33 34 package edu.rice.cs.drjava.model.compiler; 35 36 import edu.rice.cs.drjava.config.*; 37 import edu.rice.cs.drjava.DrJava; 38 39 import java.util.HashMap ; 40 41 42 43 public class CompilerOptions implements OptionConstants { 44 45 private static boolean SHOW_UNCHECKED = DrJava.getConfig().getSetting(SHOW_UNCHECKED_WARNINGS); 46 private static boolean SHOW_DEPRECATION = DrJava.getConfig().getSetting(SHOW_DEPRECATION_WARNINGS); 47 private static boolean SHOW_PATH = DrJava.getConfig().getSetting(SHOW_PATH_WARNINGS); 48 private static boolean SHOW_SERIAL = DrJava.getConfig().getSetting(SHOW_SERIAL_WARNINGS); 49 private static boolean SHOW_FINALLY = DrJava.getConfig().getSetting(SHOW_FINALLY_WARNINGS); 50 private static boolean SHOW_FALLTHROUGH = DrJava.getConfig().getSetting(SHOW_FALLTHROUGH_WARNINGS); 51 52 private static WarningOptionListener wol = new WarningOptionListener(); 53 54 57 private static class WarningOptionListener implements OptionListener<Boolean > { 58 public void optionChanged(OptionEvent<Boolean > oce) { 59 updateWarnings(); 60 } 61 } 62 63 public static void updateWarnings() { 64 SHOW_UNCHECKED = DrJava.getConfig().getSetting(SHOW_UNCHECKED_WARNINGS); 65 SHOW_DEPRECATION = DrJava.getConfig().getSetting(SHOW_DEPRECATION_WARNINGS); 66 SHOW_PATH = DrJava.getConfig().getSetting(SHOW_PATH_WARNINGS); 67 SHOW_SERIAL = DrJava.getConfig().getSetting(SHOW_SERIAL_WARNINGS); 68 SHOW_FINALLY = DrJava.getConfig().getSetting(SHOW_FINALLY_WARNINGS); 69 SHOW_FALLTHROUGH = DrJava.getConfig().getSetting(SHOW_FALLTHROUGH_WARNINGS); 70 } 71 72 73 static { 74 DrJava.getConfig().addOptionListener( OptionConstants.SHOW_UNCHECKED_WARNINGS, wol); 75 DrJava.getConfig().addOptionListener( OptionConstants.SHOW_DEPRECATION_WARNINGS, wol); 76 DrJava.getConfig().addOptionListener( OptionConstants.SHOW_PATH_WARNINGS, wol); 77 DrJava.getConfig().addOptionListener( OptionConstants.SHOW_SERIAL_WARNINGS, wol); 78 DrJava.getConfig().addOptionListener( OptionConstants.SHOW_FINALLY_WARNINGS, wol); 79 DrJava.getConfig().addOptionListener( OptionConstants.SHOW_FALLTHROUGH_WARNINGS, wol); 80 } 81 82 public static HashMap <String ,String > getOptions(boolean warningsEnabled) { 83 HashMap <String ,String > options = new HashMap <String ,String >(); 84 if (warningsEnabled) { 85 if (SHOW_UNCHECKED) { 86 options.put("-Xlint:unchecked",""); 87 } 88 89 if (SHOW_DEPRECATION) { 90 options.put("-Xlint:deprecation",""); 91 } 92 93 if (SHOW_PATH) { 94 options.put("-Xlint:path",""); 95 } 96 97 if (SHOW_SERIAL) { 98 options.put("-Xlint:serial",""); 99 } 100 101 if (SHOW_FINALLY) { 102 options.put("-Xlint:finally",""); 103 } 104 105 if (SHOW_FALLTHROUGH) { 106 options.put("-Xlint:fallthrough",""); 107 options.put("-Xlint:switchcheck",""); } 109 } 110 111 return options; 113 } 114 } | Popular Tags |