diff --git a/src/com/google/javascript/jscomp/debugger/CompilationParam.java b/src/com/google/javascript/jscomp/debugger/common/CompilationParam.java similarity index 67% rename from src/com/google/javascript/jscomp/debugger/CompilationParam.java rename to src/com/google/javascript/jscomp/debugger/common/CompilationParam.java index a4f208ae249..1a6c0213f21 100644 --- a/src/com/google/javascript/jscomp/debugger/CompilationParam.java +++ b/src/com/google/javascript/jscomp/debugger/common/CompilationParam.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.javascript.jscomp.debugger; +package com.google.javascript.jscomp.debugger.common; import com.google.javascript.jscomp.AnonymousFunctionNamingPolicy; import com.google.javascript.jscomp.CheckLevel; @@ -34,47 +34,47 @@ /** * An enum of boolean CGI parameters to the compilation. + * * @author nicksantos@google.com (Nick Santos) */ -enum CompilationParam { - +public enum CompilationParam { ENABLE_ALL_DIAGNOSTIC_GROUPS { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { if (value) { for (DiagnosticGroup group : new DiagnosticGroups().getRegisteredGroups().values()) { options.setWarningLevel(group, CheckLevel.WARNING); } } } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "Sets all registered DiagnosticGroups to CheckLevel.WARNING"; } }, - /** - * Configures the compiler for use as an IDE backend. - */ + /** Configures the compiler for use as an IDE backend. */ IDE_MODE { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setIdeMode(value); } }, /** If true, the output language is ES5. If false, we skip transpilation. */ - TRANSPILE(true, ParamGroup.TRANSPILATION) { + TRANSPILE(false, ParamGroup.TRANSPILATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setLanguageIn(CompilerOptions.LanguageMode.ECMASCRIPT_NEXT); options.setLanguageOut( value ? CompilerOptions.LanguageMode.ECMASCRIPT5 : CompilerOptions.LanguageMode.NO_TRANSPILE); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setLanguageOut(LanguageMode.ECMASCRIPT5)"; } }, @@ -82,25 +82,25 @@ String getJavaInfo() { /** If true, skip all passes aside from transpilation-related ones. */ SKIP_NON_TRANSPILATION_PASSES(ParamGroup.TRANSPILATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setSkipNonTranspilationPasses(value); } }, - - //-------------------------------- + // -------------------------------- // Checks - //-------------------------------- + // -------------------------------- CHECK_LINT(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { if (value) { options.setWarningLevel(DiagnosticGroups.LINT_CHECKS, CheckLevel.WARNING); } } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("LINT_CHECKS"); } }, @@ -108,7 +108,7 @@ String getJavaInfo() { /** Checks that all symbols are defined */ CHECK_SYMBOLS(true, ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCheckSymbols(value); } }, @@ -116,12 +116,13 @@ void apply(CompilerOptions options, boolean value) { /** Checks missing return */ CHECK_MISSING_RETURN(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setWarningLevel( DiagnosticGroups.MISSING_RETURN, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("MISSING_RETURN"); } }, @@ -129,7 +130,7 @@ String getJavaInfo() { /** Checks for suspicious statements that have no effect */ CHECK_SUSPICIOUS_CODE(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCheckSuspiciousCode(value); } }, @@ -137,7 +138,7 @@ void apply(CompilerOptions options, boolean value) { /** Checks types on expressions */ CHECK_TYPES(true, ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCheckTypes(value); } }, @@ -145,11 +146,12 @@ void apply(CompilerOptions options, boolean value) { /** Checks types on expressions */ CHECK_TYPES_NEW_INFERENCE(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setNewTypeInference(value); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setNewTypeInference(true)"; } }, @@ -157,13 +159,13 @@ String getJavaInfo() { /** Checks for missing properties */ MISSING_PROPERTIES(true, ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setWarningLevel( - DiagnosticGroups.MISSING_PROPERTIES, - value ? CheckLevel.WARNING : CheckLevel.OFF); + DiagnosticGroups.MISSING_PROPERTIES, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("MISSING_PROPERTIES"); } }, @@ -174,12 +176,13 @@ String getJavaInfo() { */ CHECK_REPORT_MISSING_OVERRIDE(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setWarningLevel( DiagnosticGroups.MISSING_OVERRIDE, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setReportMissingOverride(CheckLevel.WARNING)"; } }, @@ -187,12 +190,13 @@ String getJavaInfo() { /** Checks for missing goog.require() calls */ CHECK_REQUIRES(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { - options.setWarningLevel(DiagnosticGroups.MISSING_REQUIRE, - value ? CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setWarningLevel( + DiagnosticGroups.MISSING_REQUIRE, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("MISSING_REQUIRE"); } }, @@ -200,12 +204,13 @@ String getJavaInfo() { /** Checks for missing goog.provides() calls * */ CHECK_PROVIDES(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setWarningLevel( DiagnosticGroups.MISSING_PROVIDE, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("MISSING_PROVIDE"); } }, @@ -213,12 +218,12 @@ String getJavaInfo() { /** Checks the integrity of references to qualified global names. (e.g. "a.b") */ CHECK_GLOBAL_NAMES(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { - options.setCheckGlobalNamesLevel(value ? - CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setCheckGlobalNamesLevel(value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setCheckGlobalNamesLevel(CheckLevel.WARNING)"; } }, @@ -226,12 +231,13 @@ String getJavaInfo() { /** Checks deprecation. */ CHECK_DEPRECATED(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { - options.setWarningLevel(DiagnosticGroups.DEPRECATED, - value ? CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setWarningLevel( + DiagnosticGroups.DEPRECATED, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("DEPRECATED"); } }, @@ -239,12 +245,13 @@ String getJavaInfo() { /** Checks visibility. */ CHECK_VISIBILITY(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { - options.setWarningLevel(DiagnosticGroups.VISIBILITY, - value ? CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setWarningLevel( + DiagnosticGroups.VISIBILITY, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("VISIBILITY"); } }, @@ -252,12 +259,12 @@ String getJavaInfo() { /** Checks visibility. */ CHECK_CONSTANTS(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { - options.setWarningLevel(DiagnosticGroups.CONST, - value ? CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setWarningLevel(DiagnosticGroups.CONST, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("CONST"); } }, @@ -265,12 +272,13 @@ String getJavaInfo() { /** Checks es5strict. */ CHECK_ES5_STRICT(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { - options.setWarningLevel(DiagnosticGroups.ES5_STRICT, - value ? CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setWarningLevel( + DiagnosticGroups.ES5_STRICT, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("ES5_STRICT"); } }, @@ -281,23 +289,23 @@ String getJavaInfo() { */ CHECK_GLOBAL_THIS(ParamGroup.ERROR_CHECKING) { @Override - void apply(CompilerOptions options, boolean value) { - options.setCheckGlobalThisLevel(value ? - CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setCheckGlobalThisLevel(value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setCheckGlobalThisLevel(CheckLevel.WARNING)"; } }, - //-------------------------------- + // -------------------------------- // Optimizations - //-------------------------------- + // -------------------------------- COMPUTE_FUNCTION_SIDE_EFFECTS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setComputeFunctionSideEffects(value); } }, @@ -305,14 +313,14 @@ void apply(CompilerOptions options, boolean value) { /** Folds constants (e.g. (2 + 3) to 5) */ FOLD_CONSTANTS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setFoldConstants(value); } }, DEAD_ASSIGNMENT_ELIMINATION(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setDeadAssignmentElimination(value); } }, @@ -320,11 +328,12 @@ void apply(CompilerOptions options, boolean value) { /** Inlines constants (symbols that are all CAPS) */ INLINE_CONSTANTS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setInlineConstantVars(value); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setInlineConstantVars(true)"; } }, @@ -332,12 +341,13 @@ String getJavaInfo() { /** Inlines functions */ INLINE_FUNCTIONS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setInlineFunctions(value); options.setInlineLocalFunctions(value); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setInlineFunctions(true) + options.setInlineLocalFunctions(true)"; } }, @@ -345,7 +355,7 @@ String getJavaInfo() { /** Merge two variables together as one. */ COALESCE_VARIABLE_NAMES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCoalesceVariableNames(value); } }, @@ -353,7 +363,7 @@ void apply(CompilerOptions options, boolean value) { /** Inlines variables */ INLINE_VARIABLES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setInlineVariables(value); } }, @@ -361,14 +371,14 @@ void apply(CompilerOptions options, boolean value) { /** Flowsenstive Inlines variables */ FLOW_SENSITIVE_INLINE_VARIABLES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setFlowSensitiveInlineVariables(value); } }, INLINE_PROPERTIES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setInlineProperties(value); } }, @@ -376,7 +386,7 @@ void apply(CompilerOptions options, boolean value) { /** Removes code associated with unused global names */ SMART_NAME_REMOVAL(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setSmartNameRemoval(value); } }, @@ -384,7 +394,7 @@ void apply(CompilerOptions options, boolean value) { /** Removes code that will never execute */ REMOVE_DEAD_CODE(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setRemoveDeadCode(value); } }, @@ -392,12 +402,13 @@ void apply(CompilerOptions options, boolean value) { /** Checks for unreachable code */ CHECK_UNREACHABLE_CODE(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { - options.setWarningLevel(DiagnosticGroups.CHECK_USELESS_CODE, value ? - CheckLevel.WARNING : CheckLevel.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setWarningLevel( + DiagnosticGroups.CHECK_USELESS_CODE, value ? CheckLevel.WARNING : CheckLevel.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return diagGroupWarningInfo("CHECK_USELESS_CODE"); } }, @@ -405,7 +416,7 @@ String getJavaInfo() { /** Extracts common prototype member declarations */ EXTRACT_PROTOTYPE_MEMBER_DECLARATIONS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setExtractPrototypeMemberDeclarations(value); } }, @@ -413,12 +424,12 @@ void apply(CompilerOptions options, boolean value) { /** Removes abstract methods */ REMOVE_ABSTRACT_METHODS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setRemoveAbstractMethods(value); } @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setRemoveAbstractMethods(true)"; } }, @@ -426,7 +437,7 @@ String getJavaInfo() { /** Removes unused member prototypes */ REMOVE_UNUSED_PROTOTYPE_PROPERTIES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setRemoveUnusedPrototypeProperties(value); } }, @@ -434,7 +445,7 @@ void apply(CompilerOptions options, boolean value) { /** Removes unused static class prototypes */ REMOVE_UNUSED_CLASS_PROPERTIES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setRemoveUnusedClassProperties(value); } }, @@ -442,7 +453,7 @@ void apply(CompilerOptions options, boolean value) { /** Tells AnalyzePrototypeProperties it can remove externed props. */ REMOVE_UNUSED_PROTOTYPE_PROPERTIES_IN_EXTERNS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setRemoveUnusedPrototypePropertiesInExterns(value); } }, @@ -450,7 +461,7 @@ void apply(CompilerOptions options, boolean value) { /** Removes unused variables */ REMOVE_UNUSED_VARIABLES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { if (value) { options.setRemoveUnusedVariables(Reach.ALL); } else { @@ -462,7 +473,7 @@ void apply(CompilerOptions options, boolean value) { /** Collapses multiple variable declarations into one */ COLLAPSE_VARIABLE_DECLARATIONS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCollapseVariableDeclarations(value); } }, @@ -470,7 +481,7 @@ void apply(CompilerOptions options, boolean value) { /** Collapses anonymous function expressions into named function declarations */ COLLAPSE_ANONYMOUS_FUNCTIONS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCollapseAnonymousFunctions(value); } }, @@ -481,7 +492,7 @@ void apply(CompilerOptions options, boolean value) { */ ALIAS_ALL_STRINGS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setAliasAllStrings(value); } }, @@ -489,11 +500,12 @@ void apply(CompilerOptions options, boolean value) { /** Converts quoted property accesses to dot syntax (a['b'] -> a.b) */ CONVERT_TO_DOTTED_PROPERTIES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setConvertToDottedProperties(value); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setConvertToDottedProperties(true)"; } }, @@ -501,24 +513,24 @@ String getJavaInfo() { /** Enables a number of peephole optimizations */ USE_TYPES_FOR_LOCAL_OPTIMIZATION(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setUseTypesForLocalOptimization(value); } @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setUseTypesForLocalOptimization(true)"; } }, - //-------------------------------- + // -------------------------------- // Renaming - //-------------------------------- + // -------------------------------- /** Controls label renaming. */ LABEL_RENAMING(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setLabelRenaming(value); } }, @@ -526,7 +538,7 @@ void apply(CompilerOptions options, boolean value) { /** Generate pseudo names for properties (for debugging purposes) */ GENERATE_PSEUDO_NAMES { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setGeneratePseudoNames(value); } }, @@ -534,34 +546,35 @@ void apply(CompilerOptions options, boolean value) { /** Flattens multi-level property names (e.g. a$b = x) */ COLLAPSE_PROPERTIES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCollapseProperties(value); } }, DEVIRTUALIZE_PROTOTYPE_METHODS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setDevirtualizePrototypeMethods(value); } }, REWRITE_FUNCTION_EXPRESSIONS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { - options.setRewriteFunctionExpressions(value); } + public void apply(CompilerOptions options, boolean value) { + options.setRewriteFunctionExpressions(value); + } }, DISAMBIGUATE_PROPERTIES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setDisambiguateProperties(value); } }, AMBIGUATE_PROPERTIES(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setAmbiguateProperties(value); } }, @@ -569,14 +582,14 @@ void apply(CompilerOptions options, boolean value) { /** Give anonymous functions names for easier debugging */ NAME_ANONYMOUS_FUNCTIONS { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { if (value) { - options.setAnonymousFunctionNaming( - AnonymousFunctionNamingPolicy.UNMAPPED); + options.setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy.UNMAPPED); } } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy.UNMAPPED)"; } }, @@ -584,14 +597,14 @@ String getJavaInfo() { /** Give anonymous functions mapped names for easier debugging */ NAME_ANONYMOUS_FUNCTIONS_MAPPED { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { if (value) { - options.setAnonymousFunctionNaming( - AnonymousFunctionNamingPolicy.MAPPED); + options.setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy.MAPPED); } } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy.MAPPED)"; } }, @@ -599,59 +612,58 @@ String getJavaInfo() { /** If true, rename all variables */ VARIABLE_RENAMING(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { - options.setVariableRenaming(value ? - VariableRenamingPolicy.ALL : - VariableRenamingPolicy.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setVariableRenaming(value ? VariableRenamingPolicy.ALL : VariableRenamingPolicy.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setVariableRenaming(VariableRenamingPolicy.ALL)"; } }, PROPERTY_RENAMING(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { - options.setPropertyRenaming(value ? - PropertyRenamingPolicy.ALL_UNQUOTED : - PropertyRenamingPolicy.OFF); + public void apply(CompilerOptions options, boolean value) { + options.setPropertyRenaming( + value ? PropertyRenamingPolicy.ALL_UNQUOTED : PropertyRenamingPolicy.OFF); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setPropertyRenaming(PropertyRenamingPolicy.ALL_UNQUOTED)"; } }, OPTIMIZE_CALLS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setOptimizeCalls(value); } }, OPTIMIZE_PARAMETERS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setOptimizeParameters(value); } }, OPTIMIZE_RETURNS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setOptimizeReturns(value); } }, - //-------------------------------- + // -------------------------------- // Special-purpose alterations - //-------------------------------- + // -------------------------------- /** Processes goog.provide() and goog.require() calls */ CLOSURE_PASS(true) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setClosurePass(value); } }, @@ -659,53 +671,54 @@ void apply(CompilerOptions options, boolean value) { /** Move top level function declarations to the top */ MOVE_FUNCTION_DECLARATIONS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setMoveFunctionDeclarations(value); } }, GENERATE_EXPORTS { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setGenerateExports(value); } }, ALLOW_LOCAL_EXPORTS { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setExportLocalPropertyDefinitions(value); } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setExportLocalPropertyDefinitions(true)"; } }, MARK_NO_SIDE_EFFECT_CALLS(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setMarkNoSideEffectCalls(value); } }, CROSS_MODULE_CODE_MOTION(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCrossModuleCodeMotion(value); } }, CROSS_MODULE_METHOD_MOTION(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setCrossModuleMethodMotion(value); } }, SYNTHETIC_BLOCK_MARKER(ParamGroup.TYPE_CHECKING_OPTIMIZATION) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { if (value) { options.setSyntheticBlockStartMarker("start"); options.setSyntheticBlockEndMarker("end"); @@ -714,8 +727,9 @@ void apply(CompilerOptions options, boolean value) { options.setSyntheticBlockEndMarker(null); } } + @Override - String getJavaInfo() { + public String getJavaInfo() { return "options.setSyntheticBlockStartMarker(\"start\") + " + "options.setSyntheticBlockEndMarker(\"end\")"; } @@ -724,39 +738,39 @@ String getJavaInfo() { /** Process @ngInject directive */ ANGULAR_PASS(ParamGroup.SPECIAL_PASSES) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setAngularPass(value); } }, POLYMER_PASS(ParamGroup.SPECIAL_PASSES) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setPolymerVersion(value ? 1 : null); } }, CHROME_PASS(ParamGroup.SPECIAL_PASSES) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setChromePass(value); } }, J2CL_PASS(ParamGroup.SPECIAL_PASSES) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setJ2clPass(value ? J2clPassMode.ON : J2clPassMode.OFF); } }, - //-------------------------------- + // -------------------------------- // Output options - //-------------------------------- + // -------------------------------- PRESERVE_TYPE_ANNOTATIONS(true) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setPreserveTypeAnnotations(value); } }, @@ -764,12 +778,13 @@ void apply(CompilerOptions options, boolean value) { /** Ouput in pretty indented format */ PRETTY_PRINT(true) { @Override - void apply(CompilerOptions options, boolean value) { + public void apply(CompilerOptions options, boolean value) { options.setPrettyPrint(value); } }; - enum ParamGroup { + /** Groups parameters into associated types */ + public enum ParamGroup { ERROR_CHECKING("Lint and Error Checking"), TRANSPILATION("Transpilation"), TYPE_CHECKING_OPTIMIZATION("Type Checking/Optimization"), @@ -804,19 +819,19 @@ enum ParamGroup { } /** Returns the default value. */ - boolean getDefaultValue() { + public boolean getDefaultValue() { return defaultValue; } /** - * Optionally returns a hint about the Java API methods/options this param affects, - * currently implemented for all params where the enum name doesn't directly match to a - * camel case method CompilerOptions.setSomethingOrOther(true), such as for diagnostic groups - * or where the option method name has changed. - * To assist external developers who are trying to correlate their own Java API driven - * compilation options to the debugger's options when creating reproducible issue reports. + * Optionally returns a hint about the Java API methods/options this param affects, currently + * implemented for all params where the enum name doesn't directly match to a camel case method + * CompilerOptions.setSomethingOrOther(true), such as for diagnostic groups or where the option + * method name has changed. To assist external developers who are trying to correlate their own + * Java API driven compilation options to the debugger's options when creating reproducible issue + * reports. */ - String getJavaInfo() { + public String getJavaInfo() { return null; } @@ -825,20 +840,21 @@ private static String diagGroupWarningInfo(String diagGroupsMember) { } static CompilationParam[] getSortedValues() { - ArrayList values = new ArrayList<>( - Arrays.asList(CompilationParam.values())); + ArrayList values = new ArrayList<>(Arrays.asList(CompilationParam.values())); - Collections.sort(values, new java.util.Comparator() { - @Override - public int compare(CompilationParam o1, CompilationParam o2) { - return o1.toString().compareTo(o2.toString()); - } - }); + Collections.sort( + values, + new java.util.Comparator() { + @Override + public int compare(CompilationParam o1, CompilationParam o2) { + return o1.toString().compareTo(o2.toString()); + } + }); return values.toArray(new CompilationParam[0]); } - static Map getGroupedSortedValues() { + public static Map getGroupedSortedValues() { Map compilationParamsByGroup = new EnumMap<>(ParamGroup.class); for (ParamGroup group : ParamGroup.values()) { @@ -855,5 +871,5 @@ static Map getGroupedSortedValues() { } /** Applies a CGI parameter to the options. */ - abstract void apply(CompilerOptions options, boolean value); + public abstract void apply(CompilerOptions options, boolean value); } diff --git a/src/com/google/javascript/jscomp/debugger/DebuggerGwtMain.java b/src/com/google/javascript/jscomp/debugger/gwt/DebuggerGwtMain.java similarity index 91% rename from src/com/google/javascript/jscomp/debugger/DebuggerGwtMain.java rename to src/com/google/javascript/jscomp/debugger/gwt/DebuggerGwtMain.java index 8d295867024..d11c4150773 100644 --- a/src/com/google/javascript/jscomp/debugger/DebuggerGwtMain.java +++ b/src/com/google/javascript/jscomp/debugger/gwt/DebuggerGwtMain.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.javascript.jscomp.debugger; +package com.google.javascript.jscomp.debugger.gwt; import com.google.common.base.Joiner; import com.google.common.collect.Iterables; @@ -37,6 +37,7 @@ import com.google.javascript.jscomp.JSError; import com.google.javascript.jscomp.Result; import com.google.javascript.jscomp.SourceFile; +import com.google.javascript.jscomp.debugger.common.CompilationParam; import java.util.Arrays; import java.util.List; @@ -89,21 +90,23 @@ public void onModuleLoad() { externs.setCharacterWidth(80); externs.setVisibleLines(5); externs.setText("function Symbol() {}\n"); - externs.addKeyUpHandler(new KeyUpHandler() { - @Override - public void onKeyUp(KeyUpEvent event) { - doCompile(); - } - }); + externs.addKeyUpHandler( + new KeyUpHandler() { + @Override + public void onKeyUp(KeyUpEvent event) { + doCompile(); + } + }); input0.setCharacterWidth(80); input0.setVisibleLines(25); - input0.addKeyUpHandler(new KeyUpHandler() { - @Override - public void onKeyUp(KeyUpEvent event) { - doCompile(); - } - }); + input0.addKeyUpHandler( + new KeyUpHandler() { + @Override + public void onKeyUp(KeyUpEvent event) { + doCompile(); + } + }); HorizontalPanel panel = new HorizontalPanel(); VerticalPanel leftPane = new VerticalPanel();