Package 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

Nested Classes
Modifier and Type
Class
Description
`static interface`
`CompilerOptions.AliasTransformation`
A Role Specific Interface for the JS Compiler to report aliases used to change the code during a compile.
`static interface`
`CompilerOptions.AliasTransformationHandler`
A Role Specific Interface for JS Compiler that represents a data holder object which is used to store goog.scope alias code changes to code made during a compile.
`static enum`
`CompilerOptions.LanguageMode`
When to do the extra sanity checks
`static enum`
`CompilerOptions.Reach`
`static enum`
`CompilerOptions.TracerMode`
`static enum`
`CompilerOptions.TweakProcessing`

## Field Summary

Fields
Modifier and Type
Field
Description
`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 methods 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 global functions
`boolean`
`inlineGetters`
Inlines trivial getters
`boolean`
`inlineLocalFunctions`
Inlines functions defined in local scopes
`boolean`
`inlineVariables`
Inlines variables
`String`
`inputDelimiter`
The string to use as the separator for printInputDelimiter
`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`
`removeUnusedClassProperties`
Removes unused member properties
`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

Constructors
Constructor
Description
`CompilerOptions()`
Initializes compiler options.

## Method Summary

Modifier and Type
Method
Description
`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 run-time type checking, which adds JS type assertions for debugging.
`CompilerOptions.AliasTransformationHandler`
`getAliasTransformationHandler()`
`boolean`
`getCheckDeterminism()`
`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()`
`boolean`
`isRemoveUnusedClassProperties()`
`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`
`setAngularPass(boolean angularPass)`
`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`
`setCheckDeterminism(boolean checkDeterminism)`
`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 CommonJS modules.
`void`
`setComputeFunctionSideEffects(boolean computeFunctionSideEffects)`
`void`
`setConvertToDottedProperties(boolean convertToDottedProperties)`
`void`
`setCrossModuleCodeMotion(boolean crossModuleCodeMotion)`
`void`
`setCrossModuleMethodMotion(boolean crossModuleMethodMotion)`
`void`
`setCssRenamingMap(CssRenamingMap cssRenamingMap)`
`void`
`setCssRenamingWhitelist(Set<String> whitelist)`
`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(Iterable<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`
`setIdGeneratorsMap(String previousMappings)`
A previous map of ids (serialized to a string by a previous compile).
`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`
`setInlineProperties(boolean enable)`
Set the function inlining policy for the compiler.
`void`
`setInlineVariables(boolean inlineVariables)`
`void`
`setInlineVariables(CompilerOptions.Reach reach)`
Set the variable inlining policy for the compiler.
`void`
`setInputAnonymousFunctionNamingMap(VariableMap inputMap)`
`void`
`setInputDelimiter(String inputDelimiter)`
`void`
`setInputPropertyMap(VariableMap inputPropertyMap)`
`void`
`setInputPropertyMapSerialized(byte[] inputPropertyMapSerialized)`
Deprecated.
`void`
`setInputVariableMap(VariableMap inputVariableMap)`
`void`
`setInputVariableMapSerialized(byte[] inputVariableMapSerialized)`
Deprecated.
`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`
`setPreferSingleQuotes(boolean enabled)`
Normally, when there are an equal number of single and double quotes in a string, the compiler will use double quotes.
`void`
`setPrettyPrint(boolean prettyPrint)`
`void`
`setPrintInputDelimiter(boolean printInputDelimiter)`
`void`
`setProcessCommonJSModules(boolean processCommonJSModules)`
Rewrites CommonJS modules 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`
`setRemoveUnusedClassProperties(boolean removeUnusedClassProperties)`
`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`
`setReplaceMessagesWithChromeI18n(boolean replaceMessagesWithChromeI18n, String tcProjectId)`
`void`
`setReplaceStringsConfiguration(String placeholderToken, List<String> functionDescriptors)`
Sets the functions whose debug strings to replace.
`void`
`setReplaceStringsFunctionDescriptions(List<String> replaceStringsFunctionDescriptions)`
`void`
`setReplaceStringsInputMap(VariableMap serializedMap)`
`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)`
Deprecated.
`void`
`setRuntimeTypeCheck(boolean runtimeTypeCheck)`
`void`
`setRuntimeTypeCheckLogFunction(String runtimeTypeCheckLogFunction)`
`void`
`setSaveDataStructures(boolean save)`
Whether to keep internal data structures around after we're finished compiling.
`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 CommonJS modules.
`void`
`setTrustedStrings(boolean yes)`
Some people want to put arbitrary user input into strings, which are then run through the compiler.
`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 Details

### 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 global functions

### inlineLocalFunctions

public boolean inlineLocalFunctions
Inlines functions defined in local scopes

### 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 methods 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.

### removeUnusedClassProperties

public boolean removeUnusedClassProperties
Removes unused member properties

### 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

### 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 Details

### 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 Details

### 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

### setReplaceMessagesWithChromeI18n

public void setReplaceMessagesWithChromeI18n(boolean replaceMessagesWithChromeI18n, String tcProjectId)

### 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

### setPreferSingleQuotes

public void setPreferSingleQuotes(boolean enabled)
Normally, when there are an equal number of single and double quotes in a string, the compiler will use double quotes. Set this to true to prefer single quotes.

### setTrustedStrings

public void setTrustedStrings(boolean yes)
Some people want to put arbitrary user input into strings, which are then run through the compiler. These scripts are then put into HTML. By default, we assume strings are untrusted. If the compiler is run from the command-line, we assume that strings are trusted.

### 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.

### isRemoveUnusedClassProperties

public boolean isRemoveUnusedClassProperties()

Returns:
  Whether to attempt to remove unused class properties

### setRemoveUnusedClassProperties

public void setRemoveUnusedClassProperties(boolean removeUnusedClassProperties)

Parameters:
  `removeUnusedClassProperties` - Whether to attempt to remove unused class properties

### 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.

### setIdGeneratorsMap

public void setIdGeneratorsMap(String previousMappings)
A previous map of ids (serialized to a string by a previous compile). This will be used as a hint during the ReplaceIdGenerators pass, which will attempt to reuse the same ids.

### 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.

### setInlineProperties

public void setInlineProperties(boolean enable)
Set the function 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

@Deprecated public void setRewriteNewDateGoogNow(boolean rewrite)
Deprecated.

### 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 run-time type checking, which adds JS type assertions for debugging.

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

### disableRuntimeTypeCheck

public void disableRuntimeTypeCheck()

### setGenerateExports

public void setGenerateExports(boolean generateExports)

### setAngularPass

public void setAngularPass(boolean angularPass)

### 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 supersedes 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(Iterable<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)

### setSaveDataStructures

public void setSaveDataStructures(boolean save)
Whether to keep internal data structures around after we're finished compiling. We do this by default when IDE mode is on.

### setSkipAllPasses

public void setSkipAllPasses(boolean skipAllPasses)

### setDevMode

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

### setCheckDeterminism

public void setCheckDeterminism(boolean checkDeterminism)

### getCheckDeterminism

public boolean getCheckDeterminism()

### 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)

### setInputAnonymousFunctionNamingMap

public void setInputAnonymousFunctionNamingMap(VariableMap inputMap)

### setInputVariableMapSerialized

@Deprecated public void setInputVariableMapSerialized(byte[] inputVariableMapSerialized) throws ParseException
Deprecated.

Throws:
  `ParseException`

### setInputVariableMap

public void setInputVariableMap(VariableMap inputVariableMap)

### setInputPropertyMapSerialized

@Deprecated public void setInputPropertyMapSerialized(byte[] inputPropertyMapSerialized) throws ParseException
Deprecated.

Throws:
  `ParseException`

### setInputPropertyMap

public void setInputPropertyMap(VariableMap inputPropertyMap)

### 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)

### setCssRenamingWhitelist

public void setCssRenamingWhitelist(Set<String> whitelist)

### setReplaceStringsFunctionDescriptions

public void setReplaceStringsFunctionDescriptions(List<String> replaceStringsFunctionDescriptions)

### setReplaceStringsPlaceholderToken

public void setReplaceStringsPlaceholderToken(String replaceStringsPlaceholderToken)

### setReplaceStringsReservedStrings

public void setReplaceStringsReservedStrings(Set<String> replaceStringsReservedStrings)

### setReplaceStringsInputMap

public void setReplaceStringsInputMap(VariableMap serializedMap)

### 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 CommonJS modules.

### setProcessCommonJSModules

public void setProcessCommonJSModules(boolean processCommonJSModules)
Rewrites CommonJS modules 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 CommonJS modules.