## com.google.javascript.jscomp
Class CompilerOptions

    java.lang.Object
      com.google.javascript.jscomp.CompilerOptions

All Implemented Interfaces:
  Serializable, Cloneable

    public class CompilerOptions

extends Object
implements Serializable, Cloneable

Compiler options

See Also:
  Serialized Form

Nested Class Summary
`static interface` | `CompilerOptions.AliasTransformation` A Role Specific Interface for the JsCompiler to report aliases used to change the code during a compile.
`static interface` | `CompilerOptions.AliasTransformationHandler` A Role Specific Interface for JsCompiler that represents a data holder object which is used to store goog.scope alias code changes to code made during a compile.
`static class` | `CompilerOptions.LanguageMode` When to do the extra sanity checks
`static class` | `CompilerOptions.Reach`
`static class` | `CompilerOptions.TracerMode`
`static class` | `CompilerOptions.TweakProcessing`

Field Summary
`CheckLevel` | `aggressiveVarCheck`
`Set<String>` | `aliasableStrings` If set to a non-empty set, those strings literals will be aliased to a single global instance per string, to avoid creating more objects than necessary.
`boolean` | `aliasAllStrings` Aliases all string literals to global instances, to avoid creating more objects than necessary (if true, overrides any set of strings passed in to aliasableStrings)
`boolean` | `aliasExternals` Adds variable aliases for externals to reduce code size
`boolean` | `aliasKeywords` Aliases true, false, and null to variables with shorter names.
`String` | `aliasStringsBlacklist` A blacklist in the form of a regular expression to block strings that contains certain words from being aliased.
`boolean` | `ambiguateProperties` Rename unrelated properties to the same name to reduce code size.
`AnonymousFunctionNamingPolicy` | `anonymousFunctionNaming` Give anonymous functions names for easier debugging
`CheckLevel` | `brokenClosureRequiresLevel`
`boolean` | `checkControlStructures` Checks for invalid control structures
`CheckLevel` | `checkGlobalNamesLevel`
`CheckLevel` | `checkGlobalThisLevel`
`String` | `checkMissingGetCssNameBlacklist` Regex of string literals that may only appear in goog.getCssName arguments.
`CheckLevel` | `checkMissingGetCssNameLevel`
`CheckLevel` | `checkMissingReturn`
`CheckLevel` | `checkProvides`
`CheckLevel` | `checkRequires` Checks for missing goog.require() calls
`boolean` | `checkSuspiciousCode` Checks for suspicious statements that have no effect
`boolean` | `checkSymbols` Checks that all symbols are defined
`boolean` | `checkTypes` Checks types on expressions
`CheckLevel` | `checkUnreachableCode`
`boolean` | `closurePass` Processes goog.provide() and goog.require() calls
`boolean` | `coalesceVariableNames` Merge two variables together as one.
`boolean` | `collapseAnonymousFunctions` Collapses anonymous function declarations into named function declarations
`boolean` | `collapseProperties` Flattens multi-level property names (e.g.
`boolean` | `collapseVariableDeclarations` Collapses multiple variable declarations into one
`boolean` | `computeFunctionSideEffects` Use @nosideeffects annotations, function bodies and name graph to determine if calls have side effects.
`boolean` | `convertToDottedProperties` Converts quoted property accesses to dot syntax (a['b'] -> a.b)
`boolean` | `crossModuleCodeMotion` Move code to a deeper module
`boolean` | `crossModuleMethodMotion` Move methds to a deeper module
`CssRenamingMap` | `cssRenamingMap` Map used in the renaming of CSS class names.
`com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass>` | `customPasses` Custom passes
`boolean` | `deadAssignmentElimination` Remove assignments to values that can not be referenced
`boolean` | `devirtualizePrototypeMethods` Devirtualize prototype method by rewriting them to be static calls that take the this pointer as their first argument
`boolean` | `disambiguateProperties` Rename properties to disambiguate between unrelated fields based on type information.
`ErrorFormat` | `errorFormat`
`boolean` | `exportTestFunctions` Whether to export test functions.
`boolean` | `extractPrototypeMemberDeclarations` Extracts common prototype member declarations
`boolean` | `flowSensitiveInlineVariables`
`boolean` | `foldConstants` Folds constants (e.g.
`boolean` | `gatherCssNames` Gather CSS names (requires closurePass)
`boolean` | `generateExports`
`boolean` | `generatePseudoNames` Generate pseudo names for variables and properties for debugging purposes.
`boolean` | `ideMode` Configures the compiler for use as an IDE backend.
`boolean` | `inlineConstantVars` Inlines constants (symbols that are all CAPS)
`boolean` | `inlineFunctions` Inlines short functions
`boolean` | `inlineGetters` Inlines trivial getters
`boolean` | `inlineLocalFunctions` Enhanced function inlining
`boolean` | `inlineVariables` Inlines variables
`String` | `inputDelimiter` The string to use as the separator for printInputDelimiter
`byte[]` | `inputPropertyMapSerialized` Serialized input property renaming map.
`byte[]` | `inputVariableMapSerialized` Serialized input variable renaming map.
`String` | `instrumentationTemplate` Instrumentation template to use with #recordFunctionInformation
`boolean` | `jqueryPass` Processes jQuery aliases
`boolean` | `labelRenaming` Controls label renaming.
`boolean` | `lineBreak` Line break the output a bit more aggressively
`String` | `locale` Compiling locale
`boolean` | `markAsCompiled` Sets the special "COMPILED" value to true
`boolean` | `markNoSideEffectCalls` Mark no side effect calls
`MessageBundle` | `messageBundle` Returns localized replacement for MSG_* variables
`boolean` | `moveFunctionDeclarations` Move top level function declarations to the top
`boolean` | `optimizeArgumentsArray` Provide formal names for elements of arguments array.
`boolean` | `optimizeCalls` Remove unused parameters from call sites.
`boolean` | `optimizeParameters` Remove unused and constant parameters.
`boolean` | `optimizeReturns` Remove unused return values.
`boolean` | `preferLineBreakAtEndOfFile` Prefer line breaks at end of file
`boolean` | `prettyPrint` Output in pretty indented format
`boolean` | `printInputDelimiter` Prints a separator comment before each js script
`PropertyRenamingPolicy` | `propertyRenaming` Controls which properties get renamed.
`boolean` | `recordFunctionInformation` Record function information
`boolean` | `removeDeadCode` Removes code that will never execute
`boolean` | `removeTryCatchFinally` Removes try...catch...finally blocks for easier debugging
`boolean` | `removeUnusedLocalVars` Removes unused variables in local scope.
`boolean` | `removeUnusedPrototypeProperties` Removes unused member prototypes
`boolean` | `removeUnusedPrototypePropertiesInExterns` Tells AnalyzePrototypeProperties it can remove externed props.
`boolean` | `removeUnusedVars` Removes unused variables
`String` | `renamePrefix` Specifies a prefix for all globals
`String` | `renamePrefixNamespace` Specifies the name of an object that will be used to store all non-extern globals.
`CheckLevel` | `reportMissingOverride`
`boolean` | `reserveRawExports` Reserve property names on the global this object.
`boolean` | `rewriteFunctionExpressions` Reduces the size of common function expressions.
`boolean` | `smartNameRemoval` Removes code associated with unused global names
`SourceMap.DetailLevel` | `sourceMapDetailLevel` The detail level for the generated source map.
`SourceMap.Format` | `sourceMapFormat` The source map file format
`List<SourceMap.LocationMapping>` | `sourceMapLocationMappings`
`String` | `sourceMapOutputPath` The output path for the source map.
`Set<String>` | `stripNamePrefixes` Name prefixes that determine which variables and properties to strip
`Set<String>` | `stripNameSuffixes` Name suffixes that determine which variables and properties to strip
`Set<String>` | `stripTypePrefixes` Qualified type name prefixes that determine which types to strip
`Set<String>` | `stripTypes` Names of types to strip
`String` | `syntheticBlockEndMarker`
`String` | `syntheticBlockStartMarker`
`VariableRenamingPolicy` | `variableRenaming` Controls which variables get renamed.

Constructor Summary
`CompilerOptions()` Initializes compiler options.

Method Summary
`void` | `addWarningsGuard(WarningsGuard guard)` Add a guard to the set of warnings guards.
`boolean` | `assumeClosuresOnlyCaptureReferences()`
`boolean` | `assumeStrictThis()`
`Object` | `clone()`
`void` | `disableRuntimeTypeCheck()`
`void` | `enableExternExports(boolean enabled)` Deprecated. replaced by `setExternExports(boolean)`
`void` | `enableRuntimeTypeCheck(String logFunction)` Enable runtime type checking, which adds JS type assertions for debugging.
`CompilerOptions.AliasTransformationHandler` | `getAliasTransformationHandler()`
`CodingConvention` | `getCodingConvention()`
`Map<String,Node>` | `getDefineReplacements()` Returns the map of define replacements.
`boolean` | `getInferTypes()` Gets the inferTypes flag.
`CompilerOptions.LanguageMode` | `getLanguageIn()`
`CompilerOptions.LanguageMode` | `getLanguageOut()`
`CompilerOptions.TracerMode` | `getTracerMode()`
`CompilerOptions.TweakProcessing` | `getTweakProcessing()`
`Map<String,Node>` | `getTweakReplacements()` Returns the map of tweak replacements.
`boolean` | `isExternExportsEnabled()`
`void` | `resetWarningsGuard()` Reset the warnings guard.
`void` | `setAcceptConstKeyword(boolean value)` If true, accept `const' keyword.
`void` | `setAggressiveVarCheck(CheckLevel level)` Checks for suspicious variable definitions and undefined variables
`void` | `setAliasableGlobals(String names)` A comma separated white-list of global names.
`void` | `setAliasableStrings(Set<String> aliasableStrings)`
`void` | `setAliasAllStrings(boolean aliasAllStrings)`
`void` | `setAliasExternals(boolean aliasExternals)`
`void` | `setAliasKeywords(boolean aliasKeywords)`
`void` | `setAliasStringsBlacklist(String aliasStringsBlacklist)`
`void` | `setAliasTransformationHandler(CompilerOptions.AliasTransformationHandler changes)`
`void` | `setAmbiguateProperties(boolean ambiguateProperties)`
`void` | `setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy anonymousFunctionNaming)`
`void` | `setAppNameStr(String appNameStr)` App identifier string for use by the instrumentation template's app_name_setter.
`void` | `setAssumeClosuresOnlyCaptureReferences(boolean enable)` Whether to assume closures capture only what they reference.
`void` | `setAssumeStrictThis(boolean enable)` If true, enables enables additional optimizations.
`void` | `setBrokenClosureRequiresLevel(CheckLevel level)` Sets the check level for bad Closure require calls.
`void` | `setChainCalls(boolean value)` If true, chain calls to functions that return this.
`void` | `setCheckCaja(boolean check)`
`void` | `setCheckControlStructures(boolean checkControlStructures)`
`void` | `setCheckGlobalNamesLevel(CheckLevel level)` Checks the integrity of references to qualified global names.
`void` | `setCheckGlobalThisLevel(CheckLevel level)` Checks for certain uses of the `this` keyword that are considered unsafe because they are likely to reference the global `this` object unintentionally.
`void` | `setCheckMissingGetCssNameBlacklist(String blackList)`
`void` | `setCheckMissingGetCssNameLevel(CheckLevel level)` Checks that certain string literals only appear in strings used as goog.getCssName arguments.
`void` | `setCheckMissingReturn(CheckLevel level)` Checks for missing return statements
`void` | `setCheckProvides(CheckLevel level)` Checks for missing goog.provides() calls
`void` | `setCheckRequires(CheckLevel level)`
`void` | `setCheckSuspiciousCode(boolean checkSuspiciousCode)`
`void` | `setCheckSymbols(boolean checkSymbols)`
`void` | `setCheckTypes(boolean checkTypes)`
`void` | `setCheckUnreachableCode(CheckLevel level)` Checks for unreachable code
`void` | `setClosurePass(boolean closurePass)`
`void` | `setCoalesceVariableNames(boolean coalesceVariableNames)`
`void` | `setCodingConvention(CodingConvention codingConvention)`
`void` | `setCollapseAnonymousFunctions(boolean enabled)`
`void` | `setCollapseObjectLiterals(boolean enabled)`
`void` | `setCollapseProperties(boolean collapseProperties)`
`void` | `setCollapsePropertiesOnExternTypes(boolean collapse)` If true, flattens multi-level property names on extern types (e.g.
`void` | `setCollapseVariableDeclarations(boolean enabled)`
`void` | `setColorizeErrorOutput(boolean colorizeErrorOutput)`
`void` | `setCommonJSModulePathPrefix(String commonJSModulePathPrefix)` Sets a path prefix for Common JS modules.
`void` | `setComputeFunctionSideEffects(boolean computeFunctionSideEffects)`
`void` | `setConvertToDottedProperties(boolean convertToDottedProperties)`
`void` | `setCrossModuleCodeMotion(boolean crossModuleCodeMotion)`
`void` | `setCrossModuleMethodMotion(boolean crossModuleMethodMotion)`
`void` | `setCssRenamingMap(CssRenamingMap cssRenamingMap)`
`void` | `setCustomPasses(com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPasses)`
`void` | `setDeadAssignmentElimination(boolean deadAssignmentElimination)`
`void` | `setDebugFunctionSideEffectsPath(String debugFunctionSideEffectsPath)`
`void` | `setDefineReplacements(Map<String,Object> defineReplacements)`
`void` | `setDefineToBooleanLiteral(String defineName, boolean value)` Sets the value of the `@define` variable in JS to a boolean literal.
`void` | `setDefineToDoubleLiteral(String defineName, double value)` Sets the value of the `@define` variable in JS to a number literal.
`void` | `setDefineToNumberLiteral(String defineName, int value)` Sets the value of the `@define` variable in JS to a number literal.
`void` | `setDefineToStringLiteral(String defineName, String value)` Sets the value of the `@define` variable in JS to a String literal.
`void` | `setDependencyOptions(DependencyOptions options)` Sets dependency options.
`void` | `setDevirtualizePrototypeMethods(boolean devirtualizePrototypeMethods)`
`void` | `setDevMode(com.google.javascript.jscomp.CompilerOptions.DevMode devMode)`
`void` | `setDisambiguateProperties(boolean disambiguateProperties)`
`void` | `setErrorFormat(ErrorFormat errorFormat)`
`void` | `setErrorHandler(ErrorHandler handler)` Set a custom handler for warnings and errors.
`void` | `setExportTestFunctions(boolean exportTestFunctions)`
`void` | `setExternExports(boolean externExports)`
`void` | `setExternExportsPath(String externExportsPath)`
`void` | `setExtraAnnotationNames(Set<String> extraAnnotationNames)`
`void` | `setExtractPrototypeMemberDeclarations(boolean enabled)`
`void` | `setFlowSensitiveInlineVariables(boolean enabled)`
`void` | `setFoldConstants(boolean foldConstants)`
`void` | `setGatherCssNames(boolean gatherCssNames)`
`void` | `setGenerateExports(boolean generateExports)`
`void` | `setGeneratePseudoNames(boolean generatePseudoNames)`
`void` | `setGroupVariableDeclarations(boolean enabled)`
`void` | `setIdeMode(boolean ideMode)`
`void` | `setIdGenerators(Set<String> idGenerators)` Sets the id generators to replace.
`void` | `setIgnoreCajaProperties(boolean enabled)` Add code to skip properties that Caja adds to Object.prototype
`void` | `setInferTypes(boolean enable)` If true, enables type inference.
`void` | `setInlineConstantVars(boolean inlineConstantVars)`
`void` | `setInlineFunctions(boolean inlineFunctions)`
`void` | `setInlineFunctions(CompilerOptions.Reach reach)` Set the function inlining policy for the compiler.
`void` | `setInlineGetters(boolean inlineGetters)`
`void` | `setInlineLocalFunctions(boolean inlineLocalFunctions)`
`void` | `setInlineLocalVariables(boolean inlineLocalVariables)`
`void` | `setInlineVariables(boolean inlineVariables)`
`void` | `setInlineVariables(CompilerOptions.Reach reach)` Set the variable inlining policy for the compiler.
`void` | `setInputDelimiter(String inputDelimiter)`
`void` | `setInputPropertyMapSerialized(byte[] inputPropertyMapSerialized)`
`void` | `setInputVariableMapSerialized(byte[] inputVariableMapSerialized)`
`void` | `setInstrumentationTemplate(String instrumentationTemplate)`
`void` | `setLabelRenaming(boolean labelRenaming)`
`void` | `setLanguageIn(CompilerOptions.LanguageMode languageIn)` Sets how goog.tweak calls are processed.
`void` | `setLanguageOut(CompilerOptions.LanguageMode languageOut)`
`void` | `setLineBreak(boolean lineBreak)`
`void` | `setLineLengthThreshold(int lineLengthThreshold)`
`void` | `setLocale(String locale)`
`void` | `setLooseTypes(boolean looseTypes)` Whether to include "undefined" in the default types.
`void` | `setManageClosureDependencies(boolean newVal)` Sort inputs by their goog.provide/goog.require calls, and prune inputs whose symbols are not required.
`void` | `setManageClosureDependencies(List<String> entryPoints)` Sort inputs by their goog.provide/goog.require calls.
`void` | `setMarkAsCompiled(boolean markAsCompiled)`
`void` | `setMarkNoSideEffectCalls(boolean markNoSideEffectCalls)`
`void` | `setMessageBundle(MessageBundle messageBundle)`
`void` | `setMoveFunctionDeclarations(boolean moveFunctionDeclarations)`
`void` | `setNameAnonymousFunctionsOnly(boolean value)` If true, name anonymous functions only.
`void` | `setNameReferenceGraphPath(String filePath)` Where to save the name reference graph
`void` | `setNameReferenceReportPath(String filePath)` Where to save a cross-reference report from the name reference graph
`void` | `setOptimizeArgumentsArray(boolean optimizeArgumentsArray)`
`void` | `setOptimizeCalls(boolean optimizeCalls)`
`void` | `setOptimizeParameters(boolean optimizeParameters)`
`void` | `setOptimizeReturns(boolean optimizeReturns)`
`void` | `setOutputCharset(String charsetName)` Sets the output charset by name.
`void` | `setOutputJsStringUsage(boolean outputJsStringUsage)`
`void` | `setPreferLineBreakAtEndOfFile(boolean lineBreakAtEnd)`
`void` | `setPrettyPrint(boolean prettyPrint)`
`void` | `setPrintInputDelimiter(boolean printInputDelimiter)`
`void` | `setProcessCommonJSModules(boolean processCommonJSModules)` Rewrites CommonJS modulee so that modules can be concatenated together, by renaming all globals to avoid conflicting with other modules.
`void` | `setProcessObjectPropertyString(boolean process)` If true, process goog.testing.ObjectPropertyString instances.
`void` | `setPropertyAffinity(boolean useAffinity)`
`void` | `setPropertyInvalidationErrors(Map<String,CheckLevel> propertyInvalidationErrors)` Sets the list of properties that we report property invalidation errors for.
`void` | `setPropertyRenaming(PropertyRenamingPolicy propertyRenaming)`
`void` | `setProtectHiddenSideEffects(boolean enable)` When enabled, assume that apparently side-effect free code is meaningful.
`void` | `setRecordFunctionInformation(boolean recordFunctionInformation)`
`void` | `setRemoveAbstractMethods(boolean remove)`
`void` | `setRemoveClosureAsserts(boolean remove)`
`void` | `setRemoveDeadCode(boolean removeDeadCode)`
`void` | `setRemoveTryCatchFinally(boolean removeTryCatchFinally)`
`void` | `setRemoveUnusedLocalVars(boolean removeUnusedLocalVars)`
`void` | `setRemoveUnusedPrototypeProperties(boolean enabled)`
`void` | `setRemoveUnusedPrototypePropertiesInExterns(boolean enabled)`
`void` | `setRemoveUnusedVariable(CompilerOptions.Reach reach)` Deprecated.
`void` | `setRemoveUnusedVariables(CompilerOptions.Reach reach)` Set the variable removal policy for the compiler.
`void` | `setRemoveUnusedVars(boolean removeUnusedVars)`
`void` | `setRenamePrefix(String renamePrefix)`
`void` | `setRenamePrefixNamespace(String renamePrefixNamespace)`
`void` | `setRenamingPolicy(VariableRenamingPolicy newVariablePolicy, PropertyRenamingPolicy newPropertyPolicy)` Sets the variable and property renaming policies for the compiler, in a way that clears warnings about the renaming policy being uninitialized from flags.
`void` | `setReplaceIdGenerators(boolean replaceIdGenerators)`
`void` | `setReplaceStringsConfiguration(String placeholderToken, List<String> functionDescriptors)` Sets the functions whose debug strings to replace.
`void` | `setReplaceStringsFunctionDescriptions(List<String> replaceStringsFunctionDescriptions)`
`void` | `setReplaceStringsPlaceholderToken(String replaceStringsPlaceholderToken)`
`void` | `setReplaceStringsReservedStrings(Set<String> replaceStringsReservedStrings)`
`void` | `setReportMissingOverride(CheckLevel level)` Flags a warning if a property is missing the @override annotation, but it overrides a base class property.
`void` | `setReportPath(String reportPath)` Where to save a report of global name usage
`void` | `setReportUnknownTypes(CheckLevel level)` Flags a warning for every node whose type could not be determined.
`void` | `setReserveRawExports(boolean reserveRawExports)`
`void` | `setRewriteFunctionExpressions(boolean rewriteFunctionExpressions)`
`void` | `setRewriteNewDateGoogNow(boolean rewrite)`
`void` | `setRuntimeTypeCheck(boolean runtimeTypeCheck)`
`void` | `setRuntimeTypeCheckLogFunction(String runtimeTypeCheckLogFunction)`
`void` | `setShadowVariables(boolean shadow)` Should shadow outer scope variable name during renaming.
`void` | `setSkipAllPasses(boolean skipAllPasses)`
`void` | `setSmartNameRemoval(boolean smartNameRemoval)`
`void` | `setSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel)`
`void` | `setSourceMapFormat(SourceMap.Format sourceMapFormat)`
`void` | `setSourceMapLocationMappings(List<SourceMap.LocationMapping> sourceMapLocationMappings)`
`void` | `setSourceMapOutputPath(String sourceMapOutputPath)`
`void` | `setSpecializeInitialModule(boolean enabled)` Specialize the initial module at the cost of later modules
`void` | `setStripNamePrefixes(Set<String> stripNamePrefixes)`
`void` | `setStripNameSuffixes(Set<String> stripNameSuffixes)`
`void` | `setStripTypePrefixes(Set<String> stripTypePrefixes)`
`void` | `setStripTypes(Set<String> stripTypes)`
`void` | `setSummaryDetailLevel(int summaryDetailLevel)` Controls how detailed the compilation summary is.
`void` | `setSyntheticBlockEndMarker(String syntheticBlockEndMarker)`
`void` | `setSyntheticBlockStartMarker(String syntheticBlockStartMarker)`
`void` | `setTightenTypes(boolean tighten)` Tightens types based on a global analysis.
`void` | `setTracer(CompilerOptions.TracerMode tracer)`
`void` | `setTracerMode(CompilerOptions.TracerMode mode)`
`void` | `setTransformAMDToCJSModules(boolean transformAMDToCJSModules)` Activates transformation of AMD to CJS modules.
`void` | `setTweakProcessing(CompilerOptions.TweakProcessing tweakProcessing)` Sets how goog.tweak calls are processed.
`void` | `setTweakReplacements(Map<String,Object> tweakReplacements)`
`void` | `setTweakToBooleanLiteral(String tweakId, boolean value)` Sets the value of the tweak in JS to a boolean literal.
`void` | `setTweakToDoubleLiteral(String tweakId, double value)` Sets the value of the tweak in JS to a number literal.
`void` | `setTweakToNumberLiteral(String tweakId, int value)` Sets the value of the tweak in JS to a number literal.
`void` | `setTweakToStringLiteral(String tweakId, String value)` Sets the value of the tweak in JS to a String literal.
`void` | `setUnaliasableGlobals(String names)` A comma separated white-list of global names.
`void` | `setVariableRenaming(VariableRenamingPolicy variableRenaming)`
`void` | `setWarningLevel(DiagnosticGroup type, CheckLevel level)` Configure the given type of warning to the given level.
`void` | `setWarningsGuard(ComposeWarningsGuard warningsGuard)`
`boolean` | `shouldColorizeErrorOutput()`
`void` | `skipAllCompilerPasses()` Skip all possible passes, to make the compiler as fast as possible.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ideMode

    public boolean ideMode

  Configures the compiler for use as an IDE backend. In this mode:
  - No optimization passes will run.
  - The last time custom passes are invoked is `CustomPassExecutionTime.BEFORE_OPTIMIZATIONS`
  - The compiler will always try to process all inputs fully, even if it encounters errors.
  - The compiler may record more information than is strictly needed for codegen.

### messageBundle

    public transient MessageBundle messageBundle

  Returns localized replacement for MSG_* variables

### checkSymbols

    public boolean checkSymbols

  Checks that all symbols are defined

### aggressiveVarCheck

    public CheckLevel aggressiveVarCheck

### checkSuspiciousCode

    public boolean checkSuspiciousCode

  Checks for suspicious statements that have no effect

### checkControlStructures

    public boolean checkControlStructures

  Checks for invalid control structures

### checkTypes

    public boolean checkTypes

  Checks types on expressions

### reportMissingOverride

    public CheckLevel reportMissingOverride

### checkRequires

    public CheckLevel checkRequires

  Checks for missing goog.require() calls

### checkProvides

    public CheckLevel checkProvides

### checkGlobalNamesLevel

    public CheckLevel checkGlobalNamesLevel

### brokenClosureRequiresLevel

    public CheckLevel brokenClosureRequiresLevel

### checkGlobalThisLevel

    public CheckLevel checkGlobalThisLevel

### checkMissingGetCssNameLevel

    public CheckLevel checkMissingGetCssNameLevel

### checkMissingGetCssNameBlacklist

    public String checkMissingGetCssNameBlacklist

  Regex of string literals that may only appear in goog.getCssName arguments.

### foldConstants

    public boolean foldConstants

  Folds constants (e.g. (2 + 3) to 5)

### deadAssignmentElimination

    public boolean deadAssignmentElimination

  Remove assignments to values that can not be referenced

### inlineConstantVars

    public boolean inlineConstantVars

  Inlines constants (symbols that are all CAPS)

### inlineFunctions

    public boolean inlineFunctions

  Inlines short functions

### inlineLocalFunctions

    public boolean inlineLocalFunctions

  Enhanced function inlining

### crossModuleCodeMotion

    public boolean crossModuleCodeMotion

  Move code to a deeper module

### coalesceVariableNames

    public boolean coalesceVariableNames

  Merge two variables together as one.

### crossModuleMethodMotion

    public boolean crossModuleMethodMotion

  Move methds to a deeper module

### inlineGetters

    public boolean inlineGetters

  Inlines trivial getters

### inlineVariables

    public boolean inlineVariables

  Inlines variables

### flowSensitiveInlineVariables

    public boolean flowSensitiveInlineVariables

### smartNameRemoval

    public boolean smartNameRemoval

  Removes code associated with unused global names

### removeDeadCode

    public boolean removeDeadCode

  Removes code that will never execute

### checkUnreachableCode

    public CheckLevel checkUnreachableCode

### checkMissingReturn

    public CheckLevel checkMissingReturn

### extractPrototypeMemberDeclarations

    public boolean extractPrototypeMemberDeclarations

  Extracts common prototype member declarations

### removeUnusedPrototypeProperties

    public boolean removeUnusedPrototypeProperties

  Removes unused member prototypes

### removeUnusedPrototypePropertiesInExterns

    public boolean removeUnusedPrototypePropertiesInExterns

  Tells AnalyzePrototypeProperties it can remove externed props.

### removeUnusedVars

    public boolean removeUnusedVars

  Removes unused variables

### removeUnusedLocalVars

    public boolean removeUnusedLocalVars

  Removes unused variables in local scope.

### aliasExternals

    public boolean aliasExternals

  Adds variable aliases for externals to reduce code size

### collapseVariableDeclarations

    public boolean collapseVariableDeclarations

  Collapses multiple variable declarations into one

### collapseAnonymousFunctions

    public boolean collapseAnonymousFunctions

  Collapses anonymous function declarations into named function declarations

### aliasableStrings

    public Set<String> aliasableStrings

  If set to a non-empty set, those strings literals will be aliased to a single global instance per string, to avoid creating more objects than necessary.

### aliasStringsBlacklist

    public String aliasStringsBlacklist

  A blacklist in the form of a regular expression to block strings that contains certain words from being aliased. If the value is the empty string, no words are blacklisted.

### aliasAllStrings

    public boolean aliasAllStrings

  Aliases all string literals to global instances, to avoid creating more objects than necessary (if true, overrides any set of strings passed in to aliasableStrings)

### convertToDottedProperties

    public boolean convertToDottedProperties

  Converts quoted property accesses to dot syntax (a['b'] -> a.b)

### rewriteFunctionExpressions

    public boolean rewriteFunctionExpressions

  Reduces the size of common function expressions.

### optimizeParameters

    public boolean optimizeParameters

  Remove unused and constant parameters.

### optimizeReturns

    public boolean optimizeReturns

  Remove unused return values.

### optimizeCalls

    public boolean optimizeCalls

  Remove unused parameters from call sites.

### optimizeArgumentsArray

    public boolean optimizeArgumentsArray

  Provide formal names for elements of arguments array.

### variableRenaming

    public VariableRenamingPolicy variableRenaming

  Controls which variables get renamed.

### propertyRenaming

    public PropertyRenamingPolicy propertyRenaming

  Controls which properties get renamed.

### labelRenaming

    public boolean labelRenaming

  Controls label renaming.

### reserveRawExports

    public boolean reserveRawExports

  Reserve property names on the global this object.

### generatePseudoNames

    public boolean generatePseudoNames

  Generate pseudo names for variables and properties for debugging purposes.

### renamePrefix

    public String renamePrefix

  Specifies a prefix for all globals

### renamePrefixNamespace

    public String renamePrefixNamespace

  Specifies the name of an object that will be used to store all non-extern globals.

### aliasKeywords

    public boolean aliasKeywords

  Aliases true, false, and null to variables with shorter names.

### collapseProperties

    public boolean collapseProperties

  Flattens multi-level property names (e.g. a$b = x)

### devirtualizePrototypeMethods

    public boolean devirtualizePrototypeMethods

  Devirtualize prototype method by rewriting them to be static calls that take the this pointer as their first argument

### computeFunctionSideEffects

    public boolean computeFunctionSideEffects

  Use @nosideeffects annotations, function bodies and name graph to determine if calls have side effects. Requires --check_types.

### disambiguateProperties

    public boolean disambiguateProperties

  Rename properties to disambiguate between unrelated fields based on type information.

### ambiguateProperties

    public boolean ambiguateProperties

  Rename unrelated properties to the same name to reduce code size.

### anonymousFunctionNaming

    public AnonymousFunctionNamingPolicy anonymousFunctionNaming

  Give anonymous functions names for easier debugging

### inputVariableMapSerialized

    public byte[] inputVariableMapSerialized

  Serialized input variable renaming map.

### inputPropertyMapSerialized

    public byte[] inputPropertyMapSerialized

  Serialized input property renaming map.

### exportTestFunctions

    public boolean exportTestFunctions

  Whether to export test functions.

### syntheticBlockStartMarker

    public String syntheticBlockStartMarker

### syntheticBlockEndMarker

    public String syntheticBlockEndMarker

### locale

    public String locale

  Compiling locale

### markAsCompiled

    public boolean markAsCompiled

  Sets the special "COMPILED" value to true

### removeTryCatchFinally

    public boolean removeTryCatchFinally

  Removes try...catch...finally blocks for easier debugging

### closurePass

    public boolean closurePass

  Processes goog.provide() and goog.require() calls

### jqueryPass

    public boolean jqueryPass

  Processes jQuery aliases

### gatherCssNames

    public boolean gatherCssNames

  Gather CSS names (requires closurePass)

### stripTypes

    public Set<String> stripTypes

  Names of types to strip

### stripNameSuffixes

    public Set<String> stripNameSuffixes

  Name suffixes that determine which variables and properties to strip

### stripNamePrefixes

    public Set<String> stripNamePrefixes

  Name prefixes that determine which variables and properties to strip

### stripTypePrefixes

    public Set<String> stripTypePrefixes

  Qualified type name prefixes that determine which types to strip

### customPasses

    public transient com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPasses

  Custom passes

### markNoSideEffectCalls

    public boolean markNoSideEffectCalls

  Mark no side effect calls

### moveFunctionDeclarations

    public boolean moveFunctionDeclarations

  Move top level function declarations to the top

### instrumentationTemplate

    public String instrumentationTemplate

  Instrumentation template to use with #recordFunctionInformation

### recordFunctionInformation

    public boolean recordFunctionInformation

  Record function information

### generateExports

    public boolean generateExports

### cssRenamingMap

    public CssRenamingMap cssRenamingMap

  Map used in the renaming of CSS class names.

### prettyPrint

    public boolean prettyPrint

  Output in pretty indented format

### lineBreak

    public boolean lineBreak

  Line break the output a bit more aggressively

### preferLineBreakAtEndOfFile

    public boolean preferLineBreakAtEndOfFile

  Prefer line breaks at end of file

### printInputDelimiter

    public boolean printInputDelimiter

  Prints a separator comment before each js script

### inputDelimiter

    public String inputDelimiter

  The string to use as the separator for printInputDelimiter

### errorFormat

    public ErrorFormat errorFormat

### sourceMapOutputPath

    public String sourceMapOutputPath

  The output path for the source map.

### sourceMapDetailLevel

    public SourceMap.DetailLevel sourceMapDetailLevel

  The detail level for the generated source map.

### sourceMapFormat

    public SourceMap.Format sourceMapFormat

  The source map file format

### sourceMapLocationMappings

    public List<SourceMap.LocationMapping> sourceMapLocationMappings

Constructor Detail

### CompilerOptions

    public CompilerOptions()

  Initializes compiler options. All options are disabled by default. Command-line frontends to the compiler should set these properties like a builder.

Method Detail

### setAggressiveVarCheck

    public void setAggressiveVarCheck(CheckLevel level)

  Checks for suspicious variable definitions and undefined variables

### setTightenTypes

    public void setTightenTypes(boolean tighten)

  Tightens types based on a global analysis. Experimental.

### setReportMissingOverride

    public void setReportMissingOverride(CheckLevel level)

  Flags a warning if a property is missing the @override annotation, but it overrides a base class property.

### setReportUnknownTypes

    public void setReportUnknownTypes(CheckLevel level)

  Flags a warning for every node whose type could not be determined.

### setCheckRequires

    public void setCheckRequires(CheckLevel level)

### setCheckProvides

    public void setCheckProvides(CheckLevel level)

  Checks for missing goog.provides() calls

### setCheckGlobalNamesLevel

    public void setCheckGlobalNamesLevel(CheckLevel level)

  Checks the integrity of references to qualified global names. (e.g. "a.b")

### setBrokenClosureRequiresLevel

    public void setBrokenClosureRequiresLevel(CheckLevel level)

  Sets the check level for bad Closure require calls.

### setCheckGlobalThisLevel

    public void setCheckGlobalThisLevel(CheckLevel level)

  Checks for certain uses of the `this` keyword that are considered unsafe because they are likely to reference the global `this` object unintentionally. If this is off, but collapseProperties is on, then the compiler will usually ignore you and run this check anyways.

### setCheckMissingGetCssNameLevel

    public void setCheckMissingGetCssNameLevel(CheckLevel level)

  Checks that certain string literals only appear in strings used as goog.getCssName arguments.

### setCheckCaja

    public void setCheckCaja(boolean check)

### setCheckUnreachableCode

    public void setCheckUnreachableCode(CheckLevel level)

  Checks for unreachable code

### setCheckMissingReturn

    public void setCheckMissingReturn(CheckLevel level)

  Checks for missing return statements

### setAliasableGlobals

    public void setAliasableGlobals(String names)

  A comma separated white-list of global names. When `aliasExternals` is enable, if set to a non-empty string, only externals with these names will be considered for aliasing.

### setUnaliasableGlobals

    public void setUnaliasableGlobals(String names)

  A comma separated white-list of global names. When `aliasExternals` is enable, these global names will not be aliased.

### setCollapseObjectLiterals

    public void setCollapseObjectLiterals(boolean enabled)

### setSpecializeInitialModule

    public void setSpecializeInitialModule(boolean enabled)

  Specialize the initial module at the cost of later modules

### setIgnoreCajaProperties

    public void setIgnoreCajaProperties(boolean enabled)

  Add code to skip properties that Caja adds to Object.prototype

### setAppNameStr

    public void setAppNameStr(String appNameStr)

  App identifier string for use by the instrumentation template's app_name_setter. @see #instrumentationTemplate

### setReportPath

    public void setReportPath(String reportPath)

  Where to save a report of global name usage

### getTracerMode

    public CompilerOptions.TracerMode getTracerMode()

### setTracerMode

    public void setTracerMode(CompilerOptions.TracerMode mode)

### setNameReferenceReportPath

    public void setNameReferenceReportPath(String filePath)

  Where to save a cross-reference report from the name reference graph

### setNameReferenceGraphPath

    public void setNameReferenceGraphPath(String filePath)

  Where to save the name reference graph

### setProtectHiddenSideEffects

    public void setProtectHiddenSideEffects(boolean enable)

  When enabled, assume that apparently side-effect free code is meaningful.

### getDefineReplacements

    public Map<String,Node> getDefineReplacements()

  Returns the map of define replacements.

### getTweakReplacements

    public Map<String,Node> getTweakReplacements()

  Returns the map of tweak replacements.

### setDefineToBooleanLiteral

    public void setDefineToBooleanLiteral(String defineName,
                                          boolean value)

  Sets the value of the `@define` variable in JS to a boolean literal.

### setDefineToStringLiteral

    public void setDefineToStringLiteral(String defineName,
                                         String value)

  Sets the value of the `@define` variable in JS to a String literal.

### setDefineToNumberLiteral

    public void setDefineToNumberLiteral(String defineName,
                                         int value)

  Sets the value of the `@define` variable in JS to a number literal.

### setDefineToDoubleLiteral

    public void setDefineToDoubleLiteral(String defineName,
                                         double value)

  Sets the value of the `@define` variable in JS to a number literal.

### setTweakToBooleanLiteral

    public void setTweakToBooleanLiteral(String tweakId,
                                         boolean value)

  Sets the value of the tweak in JS to a boolean literal.

### setTweakToStringLiteral

    public void setTweakToStringLiteral(String tweakId,
                                        String value)

  Sets the value of the tweak in JS to a String literal.

### setTweakToNumberLiteral

    public void setTweakToNumberLiteral(String tweakId,
                                        int value)

  Sets the value of the tweak in JS to a number literal.

### setTweakToDoubleLiteral

    public void setTweakToDoubleLiteral(String tweakId,
                                        double value)

  Sets the value of the tweak in JS to a number literal.

### skipAllCompilerPasses

    public void skipAllCompilerPasses()

  Skip all possible passes, to make the compiler as fast as possible.

### setWarningLevel

    public void setWarningLevel(DiagnosticGroup type,
                                CheckLevel level)

  Configure the given type of warning to the given level.

### resetWarningsGuard

    public void resetWarningsGuard()

  Reset the warnings guard.

### addWarningsGuard

    public void addWarningsGuard(WarningsGuard guard)

  Add a guard to the set of warnings guards.

### setRenamingPolicy

    public void setRenamingPolicy(VariableRenamingPolicy newVariablePolicy,
                                  PropertyRenamingPolicy newPropertyPolicy)

  Sets the variable and property renaming policies for the compiler, in a way that clears warnings about the renaming policy being uninitialized from flags.

### setPropertyAffinity

    public void setPropertyAffinity(boolean useAffinity)

### setShadowVariables

    public void setShadowVariables(boolean shadow)

  Should shadow outer scope variable name during renaming.

### setCollapsePropertiesOnExternTypes

    public void setCollapsePropertiesOnExternTypes(boolean collapse)

  If true, flattens multi-level property names on extern types (e.g. String$f = x). This should only be used with the typed version of the externs files.

### setProcessObjectPropertyString

    public void setProcessObjectPropertyString(boolean process)

  If true, process goog.testing.ObjectPropertyString instances.

### setReplaceIdGenerators

    public void setReplaceIdGenerators(boolean replaceIdGenerators)

  Parameters:
    `replaceIdGenerators` - the replaceIdGenerators to set

### setIdGenerators

    public void setIdGenerators(Set<String> idGenerators)

  Sets the id generators to replace.

### setInlineFunctions

    public void setInlineFunctions(CompilerOptions.Reach reach)

  Set the function inlining policy for the compiler.

### setInlineVariables

    public void setInlineVariables(CompilerOptions.Reach reach)

  Set the variable inlining policy for the compiler.

### setRemoveUnusedVariable

    @Deprecated
    public void setRemoveUnusedVariable(CompilerOptions.Reach reach)

  Deprecated.

  Set the variable removal policy for the compiler.

### setRemoveUnusedVariables

    public void setRemoveUnusedVariables(CompilerOptions.Reach reach)

  Set the variable removal policy for the compiler.

### setReplaceStringsConfiguration

    public void setReplaceStringsConfiguration(String placeholderToken,
                                               List<String> functionDescriptors)

  Sets the functions whose debug strings to replace.

### setRewriteNewDateGoogNow

    public void setRewriteNewDateGoogNow(boolean rewrite)

### setRemoveAbstractMethods

    public void setRemoveAbstractMethods(boolean remove)

### setRemoveClosureAsserts

    public void setRemoveClosureAsserts(boolean remove)

### setNameAnonymousFunctionsOnly

    public void setNameAnonymousFunctionsOnly(boolean value)

  If true, name anonymous functions only. All other passes will be skipped.

### setColorizeErrorOutput

    public void setColorizeErrorOutput(boolean colorizeErrorOutput)

### shouldColorizeErrorOutput

    public boolean shouldColorizeErrorOutput()

### setChainCalls

    public void setChainCalls(boolean value)

  If true, chain calls to functions that return this.

### setAcceptConstKeyword

    public void setAcceptConstKeyword(boolean value)

  If true, accept `const' keyword.

### enableRuntimeTypeCheck

    public void enableRuntimeTypeCheck(String logFunction)

  Enable runtime type checking, which adds JS type assertions for debugging.

  Parameters:
    `logFunction` - A JS function to be used for logging runtime type assertion failures.

### disableRuntimeTypeCheck

    public void disableRuntimeTypeCheck()

### setGenerateExports

    public void setGenerateExports(boolean generateExports)

### setCodingConvention

    public void setCodingConvention(CodingConvention codingConvention)

### getCodingConvention

    public CodingConvention getCodingConvention()

### setDependencyOptions

    public void setDependencyOptions(DependencyOptions options)

  Sets dependency options. See the DependencyOptions class for more info. This supercedes manageClosureDependencies.

### setManageClosureDependencies

    public void setManageClosureDependencies(boolean newVal)

  Sort inputs by their goog.provide/goog.require calls, and prune inputs whose symbols are not required.

### setManageClosureDependencies

    public void setManageClosureDependencies(List<String> entryPoints)

  Sort inputs by their goog.provide/goog.require calls.

  Parameters:
    `entryPoints` - Entry points to the program. Must be goog.provide'd symbols. Any goog.provide'd symbols that are not a transitive dependency of the entry points will be deleted. Files without goog.provides, and their dependencies, will always be left in.

### setSummaryDetailLevel

    public void setSummaryDetailLevel(int summaryDetailLevel)

  Controls how detailed the compilation summary is. Values: 0 (never print summary), 1 (print summary only if there are errors or warnings), 2 (print summary if type checking is on, see --check_types), 3 (always print summary). The default level is 1

### enableExternExports

    @Deprecated
    public void enableExternExports(boolean enabled)

  Deprecated. replaced by `setExternExports(boolean)`

### setExtraAnnotationNames

    public void setExtraAnnotationNames(Set<String> extraAnnotationNames)

### isExternExportsEnabled

    public boolean isExternExportsEnabled()

### setOutputCharset

    public void setOutputCharset(String charsetName)

  Sets the output charset by name.

### setTweakProcessing

    public void setTweakProcessing(CompilerOptions.TweakProcessing tweakProcessing)

  Sets how goog.tweak calls are processed.

### getTweakProcessing

    public CompilerOptions.TweakProcessing getTweakProcessing()

### setLanguageIn

    public void setLanguageIn(CompilerOptions.LanguageMode languageIn)

  Sets how goog.tweak calls are processed.

### getLanguageIn

    public CompilerOptions.LanguageMode getLanguageIn()

### getLanguageOut

    public CompilerOptions.LanguageMode getLanguageOut()

### setLooseTypes

    public void setLooseTypes(boolean looseTypes)

  Whether to include "undefined" in the default types. For example: "{Object}" is normally "Object|null" becomes "Object|null|undefined" "{?string}" is normally "string|null" becomes "string|null|undefined" In either case "!" annotated types excluded both null and undefined.

### clone

    public Object clone()
                 throws CloneNotSupportedException

  Overrides:
    `clone` in class `Object`
  Throws:
    `CloneNotSupportedException`

### setAliasTransformationHandler

    public void setAliasTransformationHandler(CompilerOptions.AliasTransformationHandler changes)

### getAliasTransformationHandler

    public CompilerOptions.AliasTransformationHandler getAliasTransformationHandler()

### setErrorHandler

    public void setErrorHandler(ErrorHandler handler)

  Set a custom handler for warnings and errors. This is mostly used for piping the warnings and errors to a file behind the scenes. If you want to filter warnings and errors, you should use a WarningsGuard. If you want to change how warnings and errors are reported to the user, you should set a ErrorManager on the Compiler. An ErrorManager is intended to summarize the errors for a single compile job.

### setInferTypes

    public void setInferTypes(boolean enable)

  If true, enables type inference. If checkTypes is enabled, this flag has no effect.

### getInferTypes

    public boolean getInferTypes()

  Gets the inferTypes flag. Note that if checkTypes is enabled, this flag is ignored when configuring the compiler.

### assumeStrictThis

    public boolean assumeStrictThis()

  Returns:
    Whether assumeStrictThis is set.

### setAssumeStrictThis

    public void setAssumeStrictThis(boolean enable)

  If true, enables enables additional optimizations.

### assumeClosuresOnlyCaptureReferences

    public boolean assumeClosuresOnlyCaptureReferences()

  Returns:
    Whether assumeClosuresOnlyCaptureReferences is set.

### setAssumeClosuresOnlyCaptureReferences

    public void setAssumeClosuresOnlyCaptureReferences(boolean enable)

  Whether to assume closures capture only what they reference. This allows more aggressive function inlining.

### setPropertyInvalidationErrors

    public void setPropertyInvalidationErrors(Map<String,CheckLevel> propertyInvalidationErrors)

  Sets the list of properties that we report property invalidation errors for.

### setLanguageOut

    public void setLanguageOut(CompilerOptions.LanguageMode languageOut)

### setIdeMode

    public void setIdeMode(boolean ideMode)

### setSkipAllPasses

    public void setSkipAllPasses(boolean skipAllPasses)

### setDevMode

    public void setDevMode(com.google.javascript.jscomp.CompilerOptions.DevMode devMode)

### setMessageBundle

    public void setMessageBundle(MessageBundle messageBundle)

### setCheckSymbols

    public void setCheckSymbols(boolean checkSymbols)

### setCheckSuspiciousCode

    public void setCheckSuspiciousCode(boolean checkSuspiciousCode)

### setCheckControlStructures

    public void setCheckControlStructures(boolean checkControlStructures)

### setCheckTypes

    public void setCheckTypes(boolean checkTypes)

### setCheckMissingGetCssNameBlacklist

    public void setCheckMissingGetCssNameBlacklist(String blackList)

### setFoldConstants

    public void setFoldConstants(boolean foldConstants)

### setDeadAssignmentElimination

    public void setDeadAssignmentElimination(boolean deadAssignmentElimination)

### setInlineConstantVars

    public void setInlineConstantVars(boolean inlineConstantVars)

### setInlineFunctions

    public void setInlineFunctions(boolean inlineFunctions)

### setInlineLocalFunctions

    public void setInlineLocalFunctions(boolean inlineLocalFunctions)

### setCrossModuleCodeMotion

    public void setCrossModuleCodeMotion(boolean crossModuleCodeMotion)

### setCoalesceVariableNames

    public void setCoalesceVariableNames(boolean coalesceVariableNames)

### setCrossModuleMethodMotion

    public void setCrossModuleMethodMotion(boolean crossModuleMethodMotion)

### setInlineGetters

    public void setInlineGetters(boolean inlineGetters)

### setInlineVariables

    public void setInlineVariables(boolean inlineVariables)

### setInlineLocalVariables

    public void setInlineLocalVariables(boolean inlineLocalVariables)

### setFlowSensitiveInlineVariables

    public void setFlowSensitiveInlineVariables(boolean enabled)

### setSmartNameRemoval

    public void setSmartNameRemoval(boolean smartNameRemoval)

### setRemoveDeadCode

    public void setRemoveDeadCode(boolean removeDeadCode)

### setExtractPrototypeMemberDeclarations

    public void setExtractPrototypeMemberDeclarations(boolean enabled)

### setRemoveUnusedPrototypeProperties

    public void setRemoveUnusedPrototypeProperties(boolean enabled)

### setRemoveUnusedPrototypePropertiesInExterns

    public void setRemoveUnusedPrototypePropertiesInExterns(boolean enabled)

### setRemoveUnusedVars

    public void setRemoveUnusedVars(boolean removeUnusedVars)

### setRemoveUnusedLocalVars

    public void setRemoveUnusedLocalVars(boolean removeUnusedLocalVars)

### setAliasExternals

    public void setAliasExternals(boolean aliasExternals)

### setCollapseVariableDeclarations

    public void setCollapseVariableDeclarations(boolean enabled)

### setGroupVariableDeclarations

    public void setGroupVariableDeclarations(boolean enabled)

### setCollapseAnonymousFunctions

    public void setCollapseAnonymousFunctions(boolean enabled)

### setAliasableStrings

    public void setAliasableStrings(Set<String> aliasableStrings)

### setAliasStringsBlacklist

    public void setAliasStringsBlacklist(String aliasStringsBlacklist)

### setAliasAllStrings

    public void setAliasAllStrings(boolean aliasAllStrings)

### setOutputJsStringUsage

    public void setOutputJsStringUsage(boolean outputJsStringUsage)

### setConvertToDottedProperties

    public void setConvertToDottedProperties(boolean convertToDottedProperties)

### setRewriteFunctionExpressions

    public void setRewriteFunctionExpressions(boolean rewriteFunctionExpressions)

### setOptimizeParameters

    public void setOptimizeParameters(boolean optimizeParameters)

### setOptimizeReturns

    public void setOptimizeReturns(boolean optimizeReturns)

### setOptimizeCalls

    public void setOptimizeCalls(boolean optimizeCalls)

### setOptimizeArgumentsArray

    public void setOptimizeArgumentsArray(boolean optimizeArgumentsArray)

### setVariableRenaming

    public void setVariableRenaming(VariableRenamingPolicy variableRenaming)

### setPropertyRenaming

    public void setPropertyRenaming(PropertyRenamingPolicy propertyRenaming)

### setLabelRenaming

    public void setLabelRenaming(boolean labelRenaming)

### setReserveRawExports

    public void setReserveRawExports(boolean reserveRawExports)

### setGeneratePseudoNames

    public void setGeneratePseudoNames(boolean generatePseudoNames)

### setRenamePrefix

    public void setRenamePrefix(String renamePrefix)

### setRenamePrefixNamespace

    public void setRenamePrefixNamespace(String renamePrefixNamespace)

### setAliasKeywords

    public void setAliasKeywords(boolean aliasKeywords)

### setCollapseProperties

    public void setCollapseProperties(boolean collapseProperties)

### setDevirtualizePrototypeMethods

    public void setDevirtualizePrototypeMethods(boolean devirtualizePrototypeMethods)

### setComputeFunctionSideEffects

    public void setComputeFunctionSideEffects(boolean computeFunctionSideEffects)

### setDebugFunctionSideEffectsPath

    public void setDebugFunctionSideEffectsPath(String debugFunctionSideEffectsPath)

### setDisambiguateProperties

    public void setDisambiguateProperties(boolean disambiguateProperties)

### setAmbiguateProperties

    public void setAmbiguateProperties(boolean ambiguateProperties)

### setAnonymousFunctionNaming

    public void setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy anonymousFunctionNaming)

### setInputVariableMapSerialized

    public void setInputVariableMapSerialized(byte[] inputVariableMapSerialized)

### setInputPropertyMapSerialized

    public void setInputPropertyMapSerialized(byte[] inputPropertyMapSerialized)

### setExportTestFunctions

    public void setExportTestFunctions(boolean exportTestFunctions)

### setRuntimeTypeCheck

    public void setRuntimeTypeCheck(boolean runtimeTypeCheck)

### setRuntimeTypeCheckLogFunction

    public void setRuntimeTypeCheckLogFunction(String runtimeTypeCheckLogFunction)

### setSyntheticBlockStartMarker

    public void setSyntheticBlockStartMarker(String syntheticBlockStartMarker)

### setSyntheticBlockEndMarker

    public void setSyntheticBlockEndMarker(String syntheticBlockEndMarker)

### setLocale

    public void setLocale(String locale)

### setMarkAsCompiled

    public void setMarkAsCompiled(boolean markAsCompiled)

### setRemoveTryCatchFinally

    public void setRemoveTryCatchFinally(boolean removeTryCatchFinally)

### setClosurePass

    public void setClosurePass(boolean closurePass)

### setGatherCssNames

    public void setGatherCssNames(boolean gatherCssNames)

### setStripTypes

    public void setStripTypes(Set<String> stripTypes)

### setStripNameSuffixes

    public void setStripNameSuffixes(Set<String> stripNameSuffixes)

### setStripNamePrefixes

    public void setStripNamePrefixes(Set<String> stripNamePrefixes)

### setStripTypePrefixes

    public void setStripTypePrefixes(Set<String> stripTypePrefixes)

### setCustomPasses

    public void setCustomPasses(com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPasses)

### setMarkNoSideEffectCalls

    public void setMarkNoSideEffectCalls(boolean markNoSideEffectCalls)

### setDefineReplacements

    public void setDefineReplacements(Map<String,Object> defineReplacements)

### setTweakReplacements

    public void setTweakReplacements(Map<String,Object> tweakReplacements)

### setMoveFunctionDeclarations

    public void setMoveFunctionDeclarations(boolean moveFunctionDeclarations)

### setInstrumentationTemplate

    public void setInstrumentationTemplate(String instrumentationTemplate)

### setRecordFunctionInformation

    public void setRecordFunctionInformation(boolean recordFunctionInformation)

### setCssRenamingMap

    public void setCssRenamingMap(CssRenamingMap cssRenamingMap)

### setReplaceStringsFunctionDescriptions

    public void setReplaceStringsFunctionDescriptions(List<String> replaceStringsFunctionDescriptions)

### setReplaceStringsPlaceholderToken

    public void setReplaceStringsPlaceholderToken(String replaceStringsPlaceholderToken)

### setReplaceStringsReservedStrings

    public void setReplaceStringsReservedStrings(Set<String> replaceStringsReservedStrings)

### setPrettyPrint

    public void setPrettyPrint(boolean prettyPrint)

### setLineBreak

    public void setLineBreak(boolean lineBreak)

### setPreferLineBreakAtEndOfFile

    public void setPreferLineBreakAtEndOfFile(boolean lineBreakAtEnd)

### setPrintInputDelimiter

    public void setPrintInputDelimiter(boolean printInputDelimiter)

### setInputDelimiter

    public void setInputDelimiter(String inputDelimiter)

### setTracer

    public void setTracer(CompilerOptions.TracerMode tracer)

### setErrorFormat

    public void setErrorFormat(ErrorFormat errorFormat)

### setWarningsGuard

    public void setWarningsGuard(ComposeWarningsGuard warningsGuard)

### setLineLengthThreshold

    public void setLineLengthThreshold(int lineLengthThreshold)

### setExternExports

    public void setExternExports(boolean externExports)

### setExternExportsPath

    public void setExternExportsPath(String externExportsPath)

### setSourceMapOutputPath

    public void setSourceMapOutputPath(String sourceMapOutputPath)

### setSourceMapDetailLevel

    public void setSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel)

### setSourceMapFormat

    public void setSourceMapFormat(SourceMap.Format sourceMapFormat)

### setSourceMapLocationMappings

    public void setSourceMapLocationMappings(List<SourceMap.LocationMapping> sourceMapLocationMappings)

### setTransformAMDToCJSModules

    public void setTransformAMDToCJSModules(boolean transformAMDToCJSModules)

  Activates transformation of AMD to CJS modules.

### setProcessCommonJSModules

    public void setProcessCommonJSModules(boolean processCommonJSModules)

  Rewrites CommonJS modulee so that modules can be concatenated together, by renaming all globals to avoid conflicting with other modules.

### setCommonJSModulePathPrefix

    public void setCommonJSModulePathPrefix(String commonJSModulePathPrefix)

  Sets a path prefix for Common JS modules.