Package com.google.javascript.jscomp
Class CompilerOptions
java.lang.Object
com.google.javascript.jscomp.CompilerOptions
- All Implemented Interfaces:
Serializable
,Cloneable
Compiler options
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
A Role Specific Interface for the JS Compiler to report aliases used to change the code during a compile.static interface
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
When to do the extra sanity checksstatic enum
static enum
static enum
-
Field Summary
Modifier and TypeFieldDescriptionIf 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
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
Adds variable aliases for externals to reduce code sizeboolean
Aliases true, false, and null to variables with shorter names.A blacklist in the form of a regular expression to block strings that contains certain words from being aliased.boolean
Rename unrelated properties to the same name to reduce code size.Give anonymous functions names for easier debuggingboolean
Checks for invalid control structuresRegex of string literals that may only appear in goog.getCssName arguments.Checks for missing goog.require() callsboolean
Checks for suspicious statements that have no effectboolean
Checks that all symbols are definedboolean
Checks types on expressionsboolean
Processes goog.provide() and goog.require() callsboolean
Merge two variables together as one.boolean
Collapses anonymous function declarations into named function declarationsboolean
Flattens multi-level property names (e.g.boolean
Collapses multiple variable declarations into oneboolean
Use @nosideeffects annotations, function bodies and name graph to determine if calls have side effects.boolean
Converts quoted property accesses to dot syntax (a['b'] -> a.b)boolean
Move code to a deeper moduleboolean
Move methods to a deeper moduleMap used in the renaming of CSS class names.com.google.common.collect.Multimap<CustomPassExecutionTime,
CompilerPass> Custom passesboolean
Remove assignments to values that can not be referencedboolean
Devirtualize prototype method by rewriting them to be static calls that take the this pointer as their first argumentboolean
Rename properties to disambiguate between unrelated fields based on type information.boolean
Whether to export test functions.boolean
Extracts common prototype member declarationsboolean
boolean
Folds constants (e.g.boolean
Gather CSS names (requires closurePass)boolean
boolean
Generate pseudo names for variables and properties for debugging purposes.boolean
Configures the compiler for use as an IDE backend.boolean
Inlines constants (symbols that are all CAPS)boolean
Inlines global functionsboolean
Inlines trivial gettersboolean
Inlines functions defined in local scopesboolean
Inlines variablesThe string to use as the separator for printInputDelimiterInstrumentation template to use with #recordFunctionInformationboolean
Processes jQuery aliasesboolean
Controls label renaming.boolean
Line break the output a bit more aggressivelyCompiling localeboolean
Sets the special "COMPILED" value to trueboolean
Mark no side effect callsReturns localized replacement for MSG_* variablesboolean
Move top-level function declarations to the topboolean
Provide formal names for elements of arguments array.boolean
Remove unused parameters from call sites.boolean
Remove unused and constant parameters.boolean
Remove unused return values.boolean
Prefer line breaks at end of fileboolean
Output in pretty indented formatboolean
Prints a separator comment before each JS scriptControls which properties get renamed.boolean
Record function informationboolean
Removes code that will never executeboolean
Removes try...catch...finally blocks for easier debuggingboolean
Removes unused member propertiesboolean
Removes unused variables in local scope.boolean
Removes unused member prototypesboolean
Tells AnalyzePrototypeProperties it can remove externed props.boolean
Removes unused variablesSpecifies a prefix for all globalsSpecifies the name of an object that will be used to store all non-extern globals.boolean
Reserve property names on the global this object.boolean
Reduces the size of common function expressions.boolean
Removes code associated with unused global namesThe detail level for the generated source map.The source map file formatThe output path for the source map.Name prefixes that determine which variables and properties to stripName suffixes that determine which variables and properties to stripQualified type name prefixes that determine which types to stripNames of types to stripControls which variables get renamed. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addWarningsGuard
(WarningsGuard guard) Add a guard to the set of warnings guards.boolean
boolean
clone()
void
void
enableExternExports
(boolean enabled) Deprecated.void
enableRuntimeTypeCheck
(String logFunction) Enable run-time type checking, which adds JS type assertions for debugging.boolean
Returns the map of define replacements.boolean
Gets the inferTypes flag.Returns the map of tweak replacements.boolean
boolean
void
Reset the warnings guard.void
setAcceptConstKeyword
(boolean value) If true, accept `const' keyword.void
setAggressiveVarCheck
(CheckLevel level) Checks for suspicious variable definitions and undefined variablesvoid
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
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
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
Checks the integrity of references to qualified global names.void
Checks for certain uses of thethis
keyword that are considered unsafe because they are likely to reference the globalthis
object unintentionally.void
setCheckMissingGetCssNameBlacklist
(String blackList) void
Checks that certain string literals only appear in strings used as goog.getCssName arguments.void
setCheckMissingReturn
(CheckLevel level) Checks for missing return statementsvoid
setCheckProvides
(CheckLevel level) Checks for missing goog.provides() callsvoid
setCheckRequires
(CheckLevel level) void
setCheckSuspiciousCode
(boolean checkSuspiciousCode) void
setCheckSymbols
(boolean checkSymbols) void
setCheckTypes
(boolean checkTypes) void
Checks for unreachable codevoid
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.prototypevoid
setInferTypes
(boolean enable) If true, enables type inference.void
setInlineConstantVars
(boolean inlineConstantVars) void
setInlineFunctions
(boolean inlineFunctions) void
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
Set the variable inlining policy for the compiler.void
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
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 graphvoid
setNameReferenceReportPath
(String filePath) Where to save a cross-reference report from the name reference graphvoid
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
Deprecated.void
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
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 usagevoid
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 modulesvoid
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
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
void
Skip all possible passes, to make the compiler as fast as possible.
-
Field Details
-
ideMode
public boolean ideModeConfigures 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
Returns localized replacement for MSG_* variables -
checkSymbols
public boolean checkSymbolsChecks that all symbols are defined -
aggressiveVarCheck
-
checkSuspiciousCode
public boolean checkSuspiciousCodeChecks for suspicious statements that have no effect -
checkControlStructures
public boolean checkControlStructuresChecks for invalid control structures -
checkTypes
public boolean checkTypesChecks types on expressions -
reportMissingOverride
-
checkRequires
Checks for missing goog.require() calls -
checkProvides
-
checkGlobalNamesLevel
-
brokenClosureRequiresLevel
-
checkGlobalThisLevel
-
checkMissingGetCssNameLevel
-
checkMissingGetCssNameBlacklist
Regex of string literals that may only appear in goog.getCssName arguments. -
foldConstants
public boolean foldConstantsFolds constants (e.g. (2 + 3) to 5) -
deadAssignmentElimination
public boolean deadAssignmentEliminationRemove assignments to values that can not be referenced -
inlineConstantVars
public boolean inlineConstantVarsInlines constants (symbols that are all CAPS) -
inlineFunctions
public boolean inlineFunctionsInlines global functions -
inlineLocalFunctions
public boolean inlineLocalFunctionsInlines functions defined in local scopes -
crossModuleCodeMotion
public boolean crossModuleCodeMotionMove code to a deeper module -
coalesceVariableNames
public boolean coalesceVariableNamesMerge two variables together as one. -
crossModuleMethodMotion
public boolean crossModuleMethodMotionMove methods to a deeper module -
inlineGetters
public boolean inlineGettersInlines trivial getters -
inlineVariables
public boolean inlineVariablesInlines variables -
flowSensitiveInlineVariables
public boolean flowSensitiveInlineVariables -
smartNameRemoval
public boolean smartNameRemovalRemoves code associated with unused global names -
removeDeadCode
public boolean removeDeadCodeRemoves code that will never execute -
checkUnreachableCode
-
checkMissingReturn
-
extractPrototypeMemberDeclarations
public boolean extractPrototypeMemberDeclarationsExtracts common prototype member declarations -
removeUnusedPrototypeProperties
public boolean removeUnusedPrototypePropertiesRemoves unused member prototypes -
removeUnusedPrototypePropertiesInExterns
public boolean removeUnusedPrototypePropertiesInExternsTells AnalyzePrototypeProperties it can remove externed props. -
removeUnusedClassProperties
public boolean removeUnusedClassPropertiesRemoves unused member properties -
removeUnusedVars
public boolean removeUnusedVarsRemoves unused variables -
removeUnusedLocalVars
public boolean removeUnusedLocalVarsRemoves unused variables in local scope. -
aliasExternals
public boolean aliasExternalsAdds variable aliases for externals to reduce code size -
collapseVariableDeclarations
public boolean collapseVariableDeclarationsCollapses multiple variable declarations into one -
collapseAnonymousFunctions
public boolean collapseAnonymousFunctionsCollapses anonymous function declarations into named function declarations -
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
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 aliasAllStringsAliases 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 convertToDottedPropertiesConverts quoted property accesses to dot syntax (a['b'] -> a.b) -
rewriteFunctionExpressions
public boolean rewriteFunctionExpressionsReduces the size of common function expressions. -
optimizeParameters
public boolean optimizeParametersRemove unused and constant parameters. -
optimizeReturns
public boolean optimizeReturnsRemove unused return values. -
optimizeCalls
public boolean optimizeCallsRemove unused parameters from call sites. -
optimizeArgumentsArray
public boolean optimizeArgumentsArrayProvide formal names for elements of arguments array. -
variableRenaming
Controls which variables get renamed. -
propertyRenaming
Controls which properties get renamed. -
labelRenaming
public boolean labelRenamingControls label renaming. -
reserveRawExports
public boolean reserveRawExportsReserve property names on the global this object. -
generatePseudoNames
public boolean generatePseudoNamesGenerate pseudo names for variables and properties for debugging purposes. -
renamePrefix
Specifies a prefix for all globals -
renamePrefixNamespace
Specifies the name of an object that will be used to store all non-extern globals. -
aliasKeywords
public boolean aliasKeywordsAliases true, false, and null to variables with shorter names. -
collapseProperties
public boolean collapsePropertiesFlattens multi-level property names (e.g. a$b = x) -
devirtualizePrototypeMethods
public boolean devirtualizePrototypeMethodsDevirtualize prototype method by rewriting them to be static calls that take the this pointer as their first argument -
computeFunctionSideEffects
public boolean computeFunctionSideEffectsUse @nosideeffects annotations, function bodies and name graph to determine if calls have side effects. Requires --check_types. -
disambiguateProperties
public boolean disambiguatePropertiesRename properties to disambiguate between unrelated fields based on type information. -
ambiguateProperties
public boolean ambiguatePropertiesRename unrelated properties to the same name to reduce code size. -
anonymousFunctionNaming
Give anonymous functions names for easier debugging -
exportTestFunctions
public boolean exportTestFunctionsWhether to export test functions. -
syntheticBlockStartMarker
-
syntheticBlockEndMarker
-
locale
Compiling locale -
markAsCompiled
public boolean markAsCompiledSets the special "COMPILED" value to true -
removeTryCatchFinally
public boolean removeTryCatchFinallyRemoves try...catch...finally blocks for easier debugging -
closurePass
public boolean closurePassProcesses goog.provide() and goog.require() calls -
jqueryPass
public boolean jqueryPassProcesses jQuery aliases -
gatherCssNames
public boolean gatherCssNamesGather CSS names (requires closurePass) -
stripTypes
Names of types to strip -
stripNameSuffixes
Name suffixes that determine which variables and properties to strip -
stripNamePrefixes
Name prefixes that determine which variables and properties to strip -
stripTypePrefixes
Qualified type name prefixes that determine which types to strip -
customPasses
public transient com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPassesCustom passes -
markNoSideEffectCalls
public boolean markNoSideEffectCallsMark no side effect calls -
moveFunctionDeclarations
public boolean moveFunctionDeclarationsMove top-level function declarations to the top -
instrumentationTemplate
Instrumentation template to use with #recordFunctionInformation -
recordFunctionInformation
public boolean recordFunctionInformationRecord function information -
generateExports
public boolean generateExports -
cssRenamingMap
Map used in the renaming of CSS class names. -
prettyPrint
public boolean prettyPrintOutput in pretty indented format -
lineBreak
public boolean lineBreakLine break the output a bit more aggressively -
preferLineBreakAtEndOfFile
public boolean preferLineBreakAtEndOfFilePrefer line breaks at end of file -
printInputDelimiter
public boolean printInputDelimiterPrints a separator comment before each JS script -
inputDelimiter
The string to use as the separator for printInputDelimiter -
errorFormat
-
sourceMapOutputPath
The output path for the source map. -
sourceMapDetailLevel
The detail level for the generated source map. -
sourceMapFormat
The source map file format -
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
Checks for suspicious variable definitions and undefined variables -
setTightenTypes
public void setTightenTypes(boolean tighten) Tightens types based on a global analysis. Experimental. -
setReportMissingOverride
Flags a warning if a property is missing the @override annotation, but it overrides a base class property. -
setReportUnknownTypes
Flags a warning for every node whose type could not be determined. -
setCheckRequires
-
setCheckProvides
Checks for missing goog.provides() calls -
setCheckGlobalNamesLevel
Checks the integrity of references to qualified global names. (e.g. "a.b") -
setBrokenClosureRequiresLevel
Sets the check level for bad Closure require calls. -
setCheckGlobalThisLevel
Checks for certain uses of thethis
keyword that are considered unsafe because they are likely to reference the globalthis
object unintentionally. If this is off, but collapseProperties is on, then the compiler will usually ignore you and run this check anyways. -
setCheckMissingGetCssNameLevel
Checks that certain string literals only appear in strings used as goog.getCssName arguments. -
setCheckCaja
public void setCheckCaja(boolean check) -
setCheckUnreachableCode
Checks for unreachable code -
setCheckMissingReturn
Checks for missing return statements -
setAliasableGlobals
A comma separated white-list of global names. WhenaliasExternals
is enable, if set to a non-empty string, only externals with these names will be considered for aliasing. -
setUnaliasableGlobals
A comma separated white-list of global names. WhenaliasExternals
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
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
Where to save a report of global name usage -
getTracerMode
-
setTracerMode
-
setNameReferenceReportPath
Where to save a cross-reference report from the name reference graph -
setNameReferenceGraphPath
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
Returns the map of define replacements. -
getTweakReplacements
Returns the map of tweak replacements. -
setDefineToBooleanLiteral
Sets the value of the@define
variable in JS to a boolean literal. -
setDefineToStringLiteral
Sets the value of the@define
variable in JS to a String literal. -
setDefineToNumberLiteral
Sets the value of the@define
variable in JS to a number literal. -
setDefineToDoubleLiteral
Sets the value of the@define
variable in JS to a number literal. -
setTweakToBooleanLiteral
Sets the value of the tweak in JS to a boolean literal. -
setTweakToStringLiteral
Sets the value of the tweak in JS to a String literal. -
setTweakToNumberLiteral
Sets the value of the tweak in JS to a number literal. -
setTweakToDoubleLiteral
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
Configure the given type of warning to the given level. -
resetWarningsGuard
public void resetWarningsGuard()Reset the warnings guard. -
addWarningsGuard
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
Sets the id generators to replace. -
setIdGeneratorsMap
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
Set the function inlining policy for the compiler. -
setInlineVariables
Set the variable inlining policy for the compiler. -
setInlineProperties
public void setInlineProperties(boolean enable) Set the function inlining policy for the compiler. -
setRemoveUnusedVariable
Deprecated.Set the variable removal policy for the compiler. -
setRemoveUnusedVariables
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. -
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
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
-
getCodingConvention
-
setDependencyOptions
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
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.replaced bysetExternExports(boolean)
-
setExtraAnnotationNames
-
isExternExportsEnabled
public boolean isExternExportsEnabled() -
setOutputCharset
Sets the output charset by name. -
setTweakProcessing
Sets how goog.tweak calls are processed. -
getTweakProcessing
-
setLanguageIn
Sets how goog.tweak calls are processed. -
getLanguageIn
-
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
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
setAliasTransformationHandler
-
getAliasTransformationHandler
-
setErrorHandler
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
Sets the list of properties that we report property invalidation errors for. -
setLanguageOut
-
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
-
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
-
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
-
setAliasStringsBlacklist
-
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
-
setPropertyRenaming
-
setLabelRenaming
public void setLabelRenaming(boolean labelRenaming) -
setReserveRawExports
public void setReserveRawExports(boolean reserveRawExports) -
setGeneratePseudoNames
public void setGeneratePseudoNames(boolean generatePseudoNames) -
setRenamePrefix
-
setRenamePrefixNamespace
-
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
-
setDisambiguateProperties
public void setDisambiguateProperties(boolean disambiguateProperties) -
setAmbiguateProperties
public void setAmbiguateProperties(boolean ambiguateProperties) -
setAnonymousFunctionNaming
-
setInputAnonymousFunctionNamingMap
-
setInputVariableMapSerialized
@Deprecated public void setInputVariableMapSerialized(byte[] inputVariableMapSerialized) throws ParseException Deprecated.- Throws:
ParseException
-
setInputVariableMap
-
setInputPropertyMapSerialized
@Deprecated public void setInputPropertyMapSerialized(byte[] inputPropertyMapSerialized) throws ParseException Deprecated.- Throws:
ParseException
-
setInputPropertyMap
-
setExportTestFunctions
public void setExportTestFunctions(boolean exportTestFunctions) -
setRuntimeTypeCheck
public void setRuntimeTypeCheck(boolean runtimeTypeCheck) -
setRuntimeTypeCheckLogFunction
-
setSyntheticBlockStartMarker
-
setSyntheticBlockEndMarker
-
setLocale
-
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
-
setStripNameSuffixes
-
setStripNamePrefixes
-
setStripTypePrefixes
-
setCustomPasses
public void setCustomPasses(com.google.common.collect.Multimap<CustomPassExecutionTime, CompilerPass> customPasses) -
setMarkNoSideEffectCalls
public void setMarkNoSideEffectCalls(boolean markNoSideEffectCalls) -
setDefineReplacements
-
setTweakReplacements
-
setMoveFunctionDeclarations
public void setMoveFunctionDeclarations(boolean moveFunctionDeclarations) -
setInstrumentationTemplate
-
setRecordFunctionInformation
public void setRecordFunctionInformation(boolean recordFunctionInformation) -
setCssRenamingMap
-
setCssRenamingWhitelist
-
setReplaceStringsFunctionDescriptions
-
setReplaceStringsPlaceholderToken
-
setReplaceStringsReservedStrings
-
setReplaceStringsInputMap
-
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
-
setTracer
-
setErrorFormat
-
setWarningsGuard
-
setLineLengthThreshold
public void setLineLengthThreshold(int lineLengthThreshold) -
setExternExports
public void setExternExports(boolean externExports) -
setExternExportsPath
-
setSourceMapOutputPath
-
setSourceMapDetailLevel
-
setSourceMapFormat
-
setSourceMapLocationMappings
-
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
Sets a path prefix for CommonJS modules.
-
setExternExports(boolean)