public class CompilerOptions
extends java.lang.Object
Modifier and Type | Class and 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.
|
(package private) static class |
CompilerOptions.DependencyMode |
(package private) static class |
CompilerOptions.DevMode
When to do the extra sanity checks
|
static class |
CompilerOptions.Environment
An environment specifies the built-in externs that are loaded for a given
compilation.
|
static class |
CompilerOptions.ExtractPrototypeMemberDeclarationsMode |
(package private) static class |
CompilerOptions.JsonStreamMode
Whether standard input or standard output should be an array of
JSON encoded files
|
static class |
CompilerOptions.LanguageMode
A language mode applies to the whole compilation job.
|
private static class |
CompilerOptions.NullAliasTransformationHandler |
static class |
CompilerOptions.Reach
A common enum for compiler passes that can run either globally or locally.
|
static class |
CompilerOptions.TracerMode
How much tracing we want to do
|
static class |
CompilerOptions.TweakProcessing
Option for the ProcessTweaks pass
|
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
aggressiveFusion
Prefer commas over semicolons when doing statement fusion
|
java.util.Set<java.lang.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)
|
private CompilerOptions.AliasTransformationHandler |
aliasHandler
Data holder Alias Transformation information accumulated during a compile.
|
java.lang.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.
|
(package private) boolean |
angularPass
Processes AngularJS-specific annotations
|
AnonymousFunctionNamingPolicy |
anonymousFunctionNaming
Give anonymous functions names for easier debugging
|
(package private) java.lang.String |
appNameStr |
(package private) boolean |
assumeClosuresOnlyCaptureReferences
More aggressive function inlining
|
private boolean |
assumeStrictThis
Whether the compiler should assume that a function's "this" value
never needs coercion (for example in non-strict "null" or "undefined" will
be coerced to the global "this" and primitives to objects).
|
CheckLevel |
brokenClosureRequiresLevel
Deprecated.
|
(package private) boolean |
chainCalls
Chains calls to functions that return this.
|
private boolean |
checkDeterminism
Configures the compiler to log a hash code of the AST after
every pass.
|
(package private) CheckEventfulObjectDisposal.DisposalCheckingPolicy |
checkEventfulObjectDisposalPolicy
Check for patterns that are known to cause memory leaks.
|
CheckLevel |
checkGlobalNamesLevel |
CheckLevel |
checkGlobalThisLevel |
java.lang.String |
checkMissingGetCssNameBlacklist
Regex of string literals that may only appear in goog.getCssName arguments.
|
CheckLevel |
checkMissingGetCssNameLevel |
CheckLevel |
checkProvides
Deprecated.
|
boolean |
checksOnly |
boolean |
checkSuspiciousCode
Checks for suspicious statements that have no effect
|
boolean |
checkSymbols
Checks that all symbols are defined
|
boolean |
checkTypes
Checks types on expressions
|
boolean |
closurePass
Processes goog.provide() and goog.require() calls
|
boolean |
coalesceVariableNames
Merge two variables together as one.
|
private CodingConvention |
codingConvention
A CodingConvention to use during the compile.
|
boolean |
collapseAnonymousFunctions
Collapses anonymous function declarations into named function
declarations
|
(package private) boolean |
collapseObjectLiterals
Split object literals into individual variables when possible.
|
boolean |
collapseProperties
Flattens multi-level property names (e.g.
|
boolean |
collapseVariableDeclarations
Collapses multiple variable declarations into one
|
private boolean |
colorizeErrorOutput |
boolean |
computeFunctionSideEffects
Use @nosideeffects annotations, function bodies and name graph
to determine if calls have side effects.
|
private com.google.common.collect.ImmutableList<ConformanceConfig> |
conformanceConfigs
List of conformance configs to use in CheckConformance
|
boolean |
convertToDottedProperties
Converts quoted property accesses to dot syntax (a['b'] → a.b)
|
boolean |
crossModuleCodeMotion
Move code to a deeper module
|
(package private) boolean |
crossModuleCodeMotionNoStubMethods
Don't generate stub functions when moving methods deeper.
|
boolean |
crossModuleMethodMotion
Move methods to a deeper module
|
CssRenamingMap |
cssRenamingMap
Map used in the renaming of CSS class names.
|
(package private) java.util.Set<java.lang.String> |
cssRenamingWhitelist
Whitelist used in the renaming of CSS class names.
|
protected com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> |
customPasses
Custom passes
|
(package private) boolean |
dartPass
Processes the output of the Dart Dev Compiler
|
boolean |
deadAssignmentElimination
Remove assignments to values that can not be referenced
|
(package private) java.lang.String |
debugFunctionSideEffectsPath
Where to save debug report for compute function side effects.
|
(package private) boolean |
declaredGlobalExternsOnWindow
Whether to declare globals declared in externs as properties on window
|
private java.util.Map<java.lang.String,java.lang.Object> |
defineReplacements
Replacements for @defines.
|
(package private) DependencyOptions |
dependencyOptions |
boolean |
devirtualizePrototypeMethods
Devirtualize prototype method by rewriting them to be static calls that
take the this pointer as their first argument
|
(package private) CompilerOptions.DevMode |
devMode
Configures the compiler to run expensive sanity checks after
every pass.
|
(package private) boolean |
disambiguatePrivateProperties
Rename private properties to disambiguate between unrelated fields based on
the coding convention.
|
boolean |
disambiguateProperties
Rename properties to disambiguate between unrelated fields based on
type information.
|
(package private) boolean |
enforceAccessControlCodingConventions
Transitional option.
|
private CompilerOptions.Environment |
environment
The builtin set of externs to be used
|
ErrorFormat |
errorFormat |
(package private) ErrorHandler |
errorHandler
Handler for compiler warnings and errors.
|
(package private) boolean |
exportLocalPropertyDefinitions |
boolean |
exportTestFunctions
Whether to export test functions.
|
private boolean |
externExports
Whether the exports should be made available via
Result after
compilation. |
(package private) java.lang.String |
externExportsPath
The output path for the created externs file.
|
(package private) java.util.Set<java.lang.String> |
extraAnnotationNames
A set of extra annotation names which are accepted and silently ignored
when encountered in a source file.
|
(package private) CompilerOptions.ExtractPrototypeMemberDeclarationsMode |
extractPrototypeMemberDeclarations
Extracts common prototype member declarations
|
(package private) boolean |
extraSmartNameRemoval
Removes code associated with unused global names
|
boolean |
flowSensitiveInlineVariables |
boolean |
foldConstants
Folds constants (e.g.
|
(package private) java.util.List<java.lang.String> |
forceLibraryInjection
Runtime libraries to always inject.
|
boolean |
gatherCssNames
Gather CSS names (requires closurePass)
|
boolean |
generateExports |
(package private) boolean |
generateExportsAfterTypeChecking |
boolean |
generatePseudoNames
Generate pseudo names for variables and properties for debugging purposes.
|
boolean |
ideMode
Configures the compiler for use as an IDE backend.
|
(package private) com.google.common.collect.ImmutableMap<java.lang.String,RenamingMap> |
idGenerators
Id generators to replace.
|
(package private) java.lang.String |
idGeneratorsMapSerialized
A previous map of ids (serialized to a string by a previous compile).
|
(package private) boolean |
inferConsts
Whether to infer consts.
|
(package private) boolean |
inferTypes
Even if checkTypes is disabled, clients might want to still infer types.
|
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
|
(package private) boolean |
inlineLocalVariables
Inlines variables
|
(package private) boolean |
inlineProperties
Inlines properties
|
boolean |
inlineVariables
Inlines variables
|
(package private) VariableMap |
inputAnonymousFunctionNamingMap
Input anonymous function renaming map.
|
java.lang.String |
inputDelimiter
The string to use as the separator for printInputDelimiter
|
(package private) VariableMap |
inputPropertyMap
Input property renaming map.
|
(package private) com.google.common.collect.ImmutableMap<java.lang.String,SourceMapInput> |
inputSourceMaps
Input sourcemap files, indexed by the JS files they refer to
|
(package private) VariableMap |
inputVariableMap
Input variable renaming map.
|
Instrumentation |
instrumentationTemplate
Instrumentation template to use with #recordFunctionInformation
|
(package private) java.lang.String |
instrumentationTemplateFile |
boolean |
instrumentForCoverage
Instrument code for the purpose of collecting coverage data.
|
(package private) boolean |
j2clPass
Processes the output of J2CL
|
boolean |
jqueryPass
Processes jQuery aliases
|
boolean |
labelRenaming
Controls label renaming.
|
private CompilerOptions.LanguageMode |
languageIn
The JavaScript language version accepted.
|
private CompilerOptions.LanguageMode |
languageOut
The JavaScript language version that should be produced.
|
(package private) boolean |
legacyCodeCompile
Used for projects that are not well maintained, but are still used.
|
boolean |
lineBreak
Line break the output a bit more aggressively
|
(package private) int |
lineLengthThreshold |
java.lang.String |
locale
Compiling locale
|
boolean |
markAsCompiled
Sets the special "COMPILED" value to true
|
boolean |
markNoSideEffectCalls
Mark no side effect calls
|
(package private) int |
maxFunctionSizeAfterInlining
For projects that want to avoid the creation of giant functions after
inlining.
|
MessageBundle |
messageBundle
Returns localized replacement for MSG_* variables
|
(package private) java.util.List<java.lang.String> |
moduleRoots
CommonJS module prefix.
|
boolean |
moveFunctionDeclarations
Move top-level function declarations to the top
|
(package private) NameGenerator |
nameGenerator
Shared name generator
|
(package private) java.lang.String |
nameReferenceGraphPath |
(package private) java.lang.String |
nameReferenceReportPath |
(package private) static CompilerOptions.AliasTransformationHandler |
NULL_ALIAS_TRANSFORMATION_HANDLER
A Null implementation of the CodeChanges interface which performs all
operations as a No-Op
|
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.
|
(package private) java.nio.charset.Charset |
outputCharset
Charset to use when generating code.
|
(package private) boolean |
outputJsStringUsage
Print string usage as part of the compilation log.
|
(package private) boolean |
parentModuleCanSeeSymbolsDeclaredInChildren
Whether when module B depends on module A and module B declares a symbol,
this symbol can be seen in A after B has been loaded.
|
private boolean |
parseJsDocDocumentation |
(package private) boolean |
polymerPass
Processes Polymer calls
|
boolean |
preferLineBreakAtEndOfFile
Prefer line breaks at end of file
|
(package private) boolean |
preferSingleQuotes |
(package private) boolean |
preferStableNames
Use a renaming heuristic with better stability across source
changes.
|
boolean |
preserveGoogRequires
Do not strip goog.require() calls from the code.
|
private boolean |
preserveJsDocWhitespace |
boolean |
preserveTypeAnnotations
Do not strip closure-style type annotations from code.
|
boolean |
prettyPrint
Output in pretty indented format
|
(package private) java.util.Set<java.lang.String> |
preventLibraryInjection
Runtime libraries to never inject.
|
boolean |
printInputDelimiter
Prints a separator comment before each JS script
|
(package private) boolean |
printSourceAfterEachPass |
(package private) boolean |
processCommonJSModules
Rewrite CommonJS modules so that they can be concatenated together.
|
(package private) boolean |
processObjectPropertyString
Process instances of goog.testing.ObjectPropertyString.
|
(package private) java.util.Map<java.lang.String,CheckLevel> |
propertyInvalidationErrors
List of properties that we report invalidation errors for.
|
(package private) PropertyRenamingPolicy |
propertyRenaming
Controls which properties get renamed.
|
(package private) boolean |
protectHiddenSideEffects
When set, assume that apparently side-effect free code is meaningful.
|
boolean |
recordFunctionInformation
Record function information
|
(package private) boolean |
removeAbstractMethods
Remove goog.abstractMethod assignments.
|
(package private) boolean |
removeClosureAsserts
Remove goog.asserts calls.
|
boolean |
removeDeadCode
Removes code that will never execute
|
boolean |
removeUnusedClassProperties
Removes unused member properties
|
(package private) boolean |
removeUnusedConstructorProperties
Removes unused constructor 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
|
java.lang.String |
renamePrefix
Specifies a prefix for all globals
|
java.lang.String |
renamePrefixNamespace
Specifies the name of an object that will be used to store all non-extern
globals.
|
(package private) boolean |
renamePrefixNamespaceAssumeCrossModuleNames
Used by tests of the RescopeGlobalSymbols pass to avoid having declare 2
modules in simple cases.
|
(package private) boolean |
replaceIdGenerators
Replace id generators
|
(package private) boolean |
replaceMessagesWithChromeI18n
Replace UI strings with chrome.i18n.getMessage calls.
|
(package private) java.util.List<java.lang.String> |
replaceStringsFunctionDescriptions
Configuration strings
|
(package private) VariableMap |
replaceStringsInputMap |
(package private) java.lang.String |
replaceStringsPlaceholderToken |
(package private) java.util.Set<java.lang.String> |
replaceStringsReservedStrings |
CheckLevel |
reportMissingOverride |
(package private) boolean |
reportOTIErrorsUnderNTI
Relevant only when
useNewTypeInference is true, where we normally disable OTI errors. |
(package private) java.lang.String |
reportPath |
boolean |
reserveRawExports
Reserve property names on the global this object.
|
boolean |
rewriteFunctionExpressions
Reduces the size of common function expressions.
|
(package private) boolean |
rewritePolyfills
Rewrite polyfills.
|
(package private) boolean |
runtimeTypeCheck
Inserts run-time type assertions for debugging.
|
(package private) java.lang.String |
runtimeTypeCheckLogFunction
A JS function to be used for logging run-time type assertion
failures.
|
(package private) boolean |
shadowVariables
Should shadow variable names in outer scope.
|
(package private) boolean |
skipNonTranspilationPasses
Configures the compiler to skip as many passes as possible.
|
(package private) boolean |
skipTranspilationAndCrash
If true, don't transpile ES6 to ES3.
|
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
|
java.util.List<SourceMap.LocationMapping> |
sourceMapLocationMappings |
java.lang.String |
sourceMapOutputPath
The output path for the source map.
|
java.util.Set<java.lang.String> |
stripNamePrefixes
Name prefixes that determine which variables and properties to strip
|
java.util.Set<java.lang.String> |
stripNameSuffixes
Name suffixes that determine which variables and properties to strip
|
java.util.Set<java.lang.String> |
stripTypePrefixes
Qualified type name prefixes that determine which types to strip
|
java.util.Set<java.lang.String> |
stripTypes
Names of types to strip
|
(package private) int |
summaryDetailLevel |
java.lang.String |
syntheticBlockEndMarker |
java.lang.String |
syntheticBlockStartMarker |
(package private) java.lang.String |
tcProjectId |
(package private) CompilerOptions.TracerMode |
tracer |
(package private) boolean |
transformAMDToCJSModules
Transform AMD to CommonJS modules.
|
(package private) boolean |
trustedStrings |
private CompilerOptions.TweakProcessing |
tweakProcessing
What kind of processing to do for goog.tweak functions.
|
private java.util.Map<java.lang.String,java.lang.Object> |
tweakReplacements
Replacements for tweaks.
|
static RenamingMap |
UNIQUE_ID_GENERATOR
A renaming map instance to use to signal the use of the "inconsistent"
id generator type.
|
(package private) static int |
UNLIMITED_FUN_SIZE_AFTER_INLINING |
(package private) boolean |
useDebugLog
Whether to return strings logged with AbstractCompiler#addToDebugLog
in the compiler's Result.
|
private boolean |
useNewTypeInference |
(package private) boolean |
useTypesForOptimization
Use type information to enable additional optimization opportunities.
|
VariableRenamingPolicy |
variableRenaming
Controls which variables get renamed.
|
private ComposeWarningsGuard |
warningsGuard |
Constructor and Description |
---|
CompilerOptions()
Initializes compiler options.
|
Modifier and Type | Method and Description |
---|---|
void |
addCustomPass(CustomPassExecutionTime time,
CompilerPass customPass) |
void |
addWarningsGuard(WarningsGuard guard)
Add a guard to the set of warnings guards.
|
boolean |
assumeClosuresOnlyCaptureReferences() |
boolean |
assumeStrictThis() |
void |
disableRuntimeTypeCheck() |
(package private) boolean |
disables(DiagnosticGroup type)
Whether the warnings guard in this Options object disables the given
group of warnings.
|
void |
enableExternExports(boolean enabled)
Deprecated.
replaced by
setExternExports(boolean) |
void |
enableRuntimeTypeCheck(java.lang.String logFunction)
Enable run-time type checking, which adds JS type assertions for debugging.
|
(package private) boolean |
enables(DiagnosticGroup type)
Whether the warnings guard in this Options object enables the given
group of warnings.
|
CompilerOptions.AliasTransformationHandler |
getAliasTransformationHandler() |
boolean |
getCheckDeterminism() |
CheckEventfulObjectDisposal.DisposalCheckingPolicy |
getCheckEventfulObjectDisposalPolicy() |
CodingConvention |
getCodingConvention() |
java.util.List<ConformanceConfig> |
getConformanceConfigs() |
java.util.Map<java.lang.String,Node> |
getDefineReplacements()
Returns the map of define replacements.
|
DependencyOptions |
getDependencyOptions() |
CompilerOptions.Environment |
getEnvironment() |
ErrorFormat |
getErrorFormat() |
boolean |
getInferTypes()
Gets the inferTypes flag.
|
CompilerOptions.LanguageMode |
getLanguageIn() |
CompilerOptions.LanguageMode |
getLanguageOut() |
boolean |
getLegacyCodeCompile() |
int |
getLineLengthThreshold() |
boolean |
getNewTypeInference() |
(package private) java.nio.charset.Charset |
getOutputCharset()
Gets the output charset.
|
boolean |
getPreferLineBreakAtEndOfFile() |
java.lang.String |
getRenamePrefixNamespace() |
private static java.util.Map<java.lang.String,Node> |
getReplacementsHelper(java.util.Map<java.lang.String,java.lang.Object> source)
Creates a map of String->Node from a map of String->Number/String/Boolean.
|
CompilerOptions.TracerMode |
getTracerMode() |
CompilerOptions.TweakProcessing |
getTweakProcessing() |
java.util.Map<java.lang.String,Node> |
getTweakReplacements()
Returns the map of tweak replacements.
|
(package private) WarningsGuard |
getWarningsGuard() |
boolean |
isDisambiguatePrivateProperties() |
boolean |
isExternExportsEnabled() |
boolean |
isParseJsDocDocumentation()
Checks JSDoc documentation will be parsed.
|
boolean |
isPreserveJsDocWhitespace() |
boolean |
isRemoveUnusedClassProperties() |
boolean |
isRemoveUnusedConstructorProperties() |
(package private) boolean |
lowerFromEs6() |
(package private) boolean |
raiseToEs6Typed() |
void |
resetWarningsGuard()
Reset the warnings guard.
|
void |
setAliasableStrings(java.util.Set<java.lang.String> aliasableStrings) |
void |
setAliasAllStrings(boolean aliasAllStrings) |
void |
setAliasStringsBlacklist(java.lang.String aliasStringsBlacklist) |
void |
setAliasTransformationHandler(CompilerOptions.AliasTransformationHandler changes) |
void |
setAmbiguateProperties(boolean ambiguateProperties) |
void |
setAngularPass(boolean angularPass) |
void |
setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy anonymousFunctionNaming) |
void |
setAppNameStr(java.lang.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)
Deprecated.
|
void |
setChainCalls(boolean value)
If true, chain calls to functions that return this.
|
void |
setCheckDeterminism(boolean checkDeterminism) |
void |
setCheckEventfulObjectDisposalPolicy(CheckEventfulObjectDisposal.DisposalCheckingPolicy policy) |
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(java.lang.String blackList) |
void |
setCheckMissingGetCssNameLevel(CheckLevel level)
Checks that certain string literals only appear in strings used as
goog.getCssName arguments.
|
void |
setCheckProvides(CheckLevel level)
Deprecated.
Use setWarningLevel(DiagnosticGroups.MISSING_PROVIDE, level)
|
void |
setCheckRequires(CheckLevel level)
Deprecated.
|
void |
setChecksOnly(boolean checksOnly) |
void |
setCheckSuspiciousCode(boolean checkSuspiciousCode) |
void |
setCheckSymbols(boolean checkSymbols) |
void |
setCheckTypes(boolean checkTypes) |
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 |
setCollapseVariableDeclarations(boolean enabled) |
void |
setColorizeErrorOutput(boolean colorizeErrorOutput) |
void |
setCommonJSModulePathPrefix(java.lang.String commonJSModulePathPrefix)
Sets a path prefix for CommonJS modules (maps to
setModuleRoots(List) ). |
void |
setComputeFunctionSideEffects(boolean computeFunctionSideEffects) |
void |
setConformanceConfig(ConformanceConfig conformanceConfig)
Both enable and configure conformance checks, if non-null.
|
void |
setConformanceConfigs(java.util.List<ConformanceConfig> configs)
Both enable and configure conformance checks, if non-null.
|
void |
setConvertToDottedProperties(boolean convertToDottedProperties) |
void |
setCrossModuleCodeMotion(boolean crossModuleCodeMotion) |
void |
setCrossModuleCodeMotionNoStubMethods(boolean crossModuleCodeMotionNoStubMethods) |
void |
setCrossModuleMethodMotion(boolean crossModuleMethodMotion) |
void |
setCssRenamingMap(CssRenamingMap cssRenamingMap) |
void |
setCssRenamingWhitelist(java.util.Set<java.lang.String> whitelist) |
void |
setDartPass(boolean dartPass) |
void |
setDeadAssignmentElimination(boolean deadAssignmentElimination) |
void |
setDebugFunctionSideEffectsPath(java.lang.String debugFunctionSideEffectsPath) |
void |
setDefineReplacements(java.util.Map<java.lang.String,java.lang.Object> defineReplacements) |
void |
setDefineToBooleanLiteral(java.lang.String defineName,
boolean value)
Sets the value of the
@define variable in JS
to a boolean literal. |
void |
setDefineToDoubleLiteral(java.lang.String defineName,
double value)
Sets the value of the
@define variable in JS to a
number literal. |
void |
setDefineToNumberLiteral(java.lang.String defineName,
int value)
Sets the value of the
@define variable in JS to a
number literal. |
void |
setDefineToStringLiteral(java.lang.String defineName,
java.lang.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(CompilerOptions.DevMode devMode) |
void |
setDisambiguatePrivateProperties(boolean value) |
void |
setDisambiguateProperties(boolean disambiguateProperties) |
void |
setEnvironment(CompilerOptions.Environment environment)
Set which set of builtin externs to use.
|
void |
setErrorFormat(ErrorFormat errorFormat) |
void |
setErrorHandler(ErrorHandler handler)
Set a custom handler for warnings and errors.
|
void |
setExportLocalPropertyDefinitions(boolean export) |
void |
setExportTestFunctions(boolean exportTestFunctions) |
void |
setExternExports(boolean externExports) |
void |
setExternExportsPath(java.lang.String externExportsPath) |
void |
setExtraAnnotationNames(java.lang.Iterable<java.lang.String> extraAnnotationNames) |
void |
setExtractPrototypeMemberDeclarations(boolean enabled) |
void |
setExtractPrototypeMemberDeclarations(CompilerOptions.ExtractPrototypeMemberDeclarationsMode mode) |
void |
setExtraSmartNameRemoval(boolean smartNameRemoval) |
void |
setFlowSensitiveInlineVariables(boolean enabled) |
void |
setFoldConstants(boolean foldConstants) |
void |
setForceLibraryInjection(java.lang.Iterable<java.lang.String> libraries)
Sets list of libraries to always inject, even if not needed.
|
void |
setGatherCssNames(boolean gatherCssNames) |
void |
setGenerateExports(boolean generateExports) |
void |
setGeneratePseudoNames(boolean generatePseudoNames) |
void |
setIdeMode(boolean ideMode) |
void |
setIdGenerators(java.util.Map<java.lang.String,RenamingMap> idGenerators)
Sets the id generators to replace.
|
void |
setIdGenerators(java.util.Set<java.lang.String> idGenerators)
Sets the id generators to replace.
|
void |
setIdGeneratorsMap(java.lang.String previousMappings)
A previous map of ids (serialized to a string by a previous compile).
|
void |
setInferConst(boolean value) |
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(java.lang.String inputDelimiter) |
void |
setInputPropertyMap(VariableMap inputPropertyMap) |
void |
setInputVariableMap(VariableMap inputVariableMap) |
void |
setInstrumentationTemplate(Instrumentation instrumentationTemplate) |
void |
setInstrumentationTemplateFile(java.lang.String filename) |
void |
setInstrumentForCoverage(boolean instrumentForCoverage)
Set whether or not code should be modified to provide coverage
information.
|
void |
setJ2clPass(boolean j2clPass) |
void |
setLabelRenaming(boolean labelRenaming) |
void |
setLanguage(CompilerOptions.LanguageMode language)
Sets ECMAScript version to use.
|
void |
setLanguageIn(CompilerOptions.LanguageMode languageIn)
Sets ECMAScript version to use for the input.
|
void |
setLanguageOut(CompilerOptions.LanguageMode languageOut)
Sets ECMAScript version to use for the output.
|
void |
setLegacyCodeCompile(boolean legacy) |
void |
setLineBreak(boolean lineBreak) |
void |
setLineLengthThreshold(int lineLengthThreshold) |
void |
setLocale(java.lang.String locale) |
void |
setManageClosureDependencies(boolean newVal)
Sort inputs by their goog.provide/goog.require calls, and prune inputs
whose symbols are not required.
|
void |
setManageClosureDependencies(java.util.List<java.lang.String> entryPoints)
Sort inputs by their goog.provide/goog.require calls.
|
void |
setMarkAsCompiled(boolean markAsCompiled) |
void |
setMarkNoSideEffectCalls(boolean markNoSideEffectCalls) |
void |
setMaxFunctionSizeAfterInlining(int funAstSize) |
void |
setMessageBundle(MessageBundle messageBundle) |
void |
setModuleRoots(java.util.List<java.lang.String> moduleRoots)
Sets the module roots.
|
void |
setMoveFunctionDeclarations(boolean moveFunctionDeclarations) |
void |
setNameReferenceGraphPath(java.lang.String filePath)
Where to save the name reference graph
|
void |
setNameReferenceReportPath(java.lang.String filePath)
Where to save a cross-reference report from the name reference graph
|
void |
setNewTypeInference(boolean enable) |
void |
setOptimizeArgumentsArray(boolean optimizeArgumentsArray) |
void |
setOptimizeCalls(boolean optimizeCalls) |
void |
setOptimizeParameters(boolean optimizeParameters) |
void |
setOptimizeReturns(boolean optimizeReturns) |
void |
setOutputCharset(java.nio.charset.Charset charsetName)
Sets the output charset.
|
void |
setOutputJsStringUsage(boolean outputJsStringUsage) |
void |
setParentModuleCanSeeSymbolsDeclaredInChildren(boolean parentModuleCanSeeSymbolsDeclaredInChildren) |
void |
setParseJsDocDocumentation(boolean parseJsDocDocumentation)
Enables or disables the parsing of JSDoc documentation.
|
void |
setPolymerPass(boolean polymerPass) |
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 |
setPreferStableNames(boolean preferStableNames) |
void |
setPreserveGoogRequires(boolean preserveGoogRequires) |
void |
setPreserveJsDocWhitespace(boolean preserveJsDocWhitespace)
Enables or disables the preservation of all whitespace and formatting within a JSDoc
comment.
|
void |
setPreserveTypeAnnotations(boolean preserveTypeAnnotations) |
void |
setPrettyPrint(boolean prettyPrint) |
void |
setPreventLibraryInjection(java.lang.Iterable<java.lang.String> libraries)
Sets the set of libraries to never inject, even if required.
|
void |
setPrintInputDelimiter(boolean printInputDelimiter) |
void |
setPrintSourceAfterEachPass(boolean printSource) |
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 |
setPropertyInvalidationErrors(java.util.Map<java.lang.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 |
setRemoveUnusedClassProperties(boolean removeUnusedClassProperties) |
void |
setRemoveUnusedConstructorProperties(boolean removeUnused) |
void |
setRemoveUnusedLocalVars(boolean removeUnusedLocalVars) |
void |
setRemoveUnusedPrototypeProperties(boolean enabled) |
void |
setRemoveUnusedPrototypePropertiesInExterns(boolean enabled) |
void |
setRemoveUnusedVariables(CompilerOptions.Reach reach)
Set the variable removal policy for the compiler.
|
void |
setRemoveUnusedVars(boolean removeUnusedVars) |
void |
setRenamePrefix(java.lang.String renamePrefix) |
void |
setRenamePrefixNamespace(java.lang.String renamePrefixNamespace) |
(package private) void |
setRenamePrefixNamespaceAssumeCrossModuleNames(boolean assume) |
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,
java.lang.String tcProjectId) |
void |
setReplaceStringsConfiguration(java.lang.String placeholderToken,
java.util.List<java.lang.String> functionDescriptors)
Sets the functions whose debug strings to replace.
|
void |
setReplaceStringsFunctionDescriptions(java.util.List<java.lang.String> replaceStringsFunctionDescriptions) |
void |
setReplaceStringsInputMap(VariableMap serializedMap) |
void |
setReplaceStringsPlaceholderToken(java.lang.String replaceStringsPlaceholderToken) |
void |
setReplaceStringsReservedStrings(java.util.Set<java.lang.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 |
setReportOTIErrorsUnderNTI(boolean enable) |
void |
setReportPath(java.lang.String reportPath)
Where to save a report of global name usage
|
void |
setReserveRawExports(boolean reserveRawExports) |
void |
setRewriteFunctionExpressions(boolean rewriteFunctionExpressions) |
void |
setRewritePolyfills(boolean rewritePolyfills)
Sets whether to rewrite polyfills.
|
void |
setRuntimeTypeCheck(boolean runtimeTypeCheck) |
void |
setRuntimeTypeCheckLogFunction(java.lang.String runtimeTypeCheckLogFunction) |
void |
setShadowVariables(boolean shadow)
Should shadow outer scope variable name during renaming.
|
void |
setSkipNonTranspilationPasses(boolean skipNonTranspilationPasses)
Skip all passes (other than transpilation, if requested).
|
void |
setSkipTranspilationAndCrash(boolean value)
Allow disabling ES6 to ES3 transpilation.
|
void |
setSmartNameRemoval(boolean smartNameRemoval) |
void |
setSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel) |
void |
setSourceMapFormat(SourceMap.Format sourceMapFormat) |
void |
setSourceMapLocationMappings(java.util.List<SourceMap.LocationMapping> sourceMapLocationMappings) |
void |
setSourceMapOutputPath(java.lang.String sourceMapOutputPath) |
void |
setStripNamePrefixes(java.util.Set<java.lang.String> stripNamePrefixes) |
void |
setStripNameSuffixes(java.util.Set<java.lang.String> stripNameSuffixes) |
void |
setStripTypePrefixes(java.util.Set<java.lang.String> stripTypePrefixes) |
void |
setStripTypes(java.util.Set<java.lang.String> stripTypes) |
void |
setSummaryDetailLevel(int summaryDetailLevel)
Controls how detailed the compilation summary is.
|
void |
setSyntheticBlockEndMarker(java.lang.String syntheticBlockEndMarker) |
void |
setSyntheticBlockStartMarker(java.lang.String syntheticBlockStartMarker) |
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(java.util.Map<java.lang.String,java.lang.Object> tweakReplacements) |
void |
setTweakToBooleanLiteral(java.lang.String tweakId,
boolean value)
Sets the value of the tweak in JS
to a boolean literal.
|
void |
setTweakToDoubleLiteral(java.lang.String tweakId,
double value)
Sets the value of the tweak in JS to a
number literal.
|
void |
setTweakToNumberLiteral(java.lang.String tweakId,
int value)
Sets the value of the tweak in JS to a
number literal.
|
void |
setTweakToStringLiteral(java.lang.String tweakId,
java.lang.String value)
Sets the value of the tweak in JS to a
String literal.
|
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.
|
(package private) void |
useEmergencyFailSafe()
The emergency fail safe removes all strict and ERROR-escalating
warnings guards.
|
(package private) void |
useNonStrictWarningsGuard() |
private CompilerOptions.LanguageMode languageIn
private CompilerOptions.LanguageMode languageOut
private CompilerOptions.Environment environment
boolean skipTranspilationAndCrash
boolean inferConsts
private boolean assumeStrictThis
public boolean ideMode
CustomPassExecutionTime.BEFORE_OPTIMIZATIONS
private boolean parseJsDocDocumentation
private boolean preserveJsDocWhitespace
boolean inferTypes
private boolean useNewTypeInference
boolean reportOTIErrorsUnderNTI
useNewTypeInference
is true, where we normally disable OTI errors.
If you want both NTI and OTI errors in this case, set to true.
E.g. if using using a warnings guard to filter NTI or OTI warnings in new or legacy code,
respectively.
This will be removed when NTI entirely replaces OTI.boolean skipNonTranspilationPasses
CompilerOptions.DevMode devMode
private boolean checkDeterminism
DependencyOptions dependencyOptions
public MessageBundle messageBundle
public boolean checkSymbols
public boolean checkSuspiciousCode
public boolean checkTypes
public CheckLevel reportMissingOverride
@Deprecated public CheckLevel checkProvides
public CheckLevel checkGlobalNamesLevel
@Deprecated public CheckLevel brokenClosureRequiresLevel
public CheckLevel checkGlobalThisLevel
public CheckLevel checkMissingGetCssNameLevel
public java.lang.String checkMissingGetCssNameBlacklist
java.util.Set<java.lang.String> extraAnnotationNames
CheckEventfulObjectDisposal.DisposalCheckingPolicy checkEventfulObjectDisposalPolicy
boolean legacyCodeCompile
boolean aggressiveFusion
public boolean foldConstants
public boolean deadAssignmentElimination
public boolean inlineConstantVars
public boolean inlineFunctions
int maxFunctionSizeAfterInlining
static final int UNLIMITED_FUN_SIZE_AFTER_INLINING
public boolean inlineLocalFunctions
boolean assumeClosuresOnlyCaptureReferences
boolean inlineProperties
public boolean crossModuleCodeMotion
boolean crossModuleCodeMotionNoStubMethods
boolean parentModuleCanSeeSymbolsDeclaredInChildren
public boolean coalesceVariableNames
public boolean crossModuleMethodMotion
public boolean inlineGetters
public boolean inlineVariables
boolean inlineLocalVariables
public boolean flowSensitiveInlineVariables
public boolean smartNameRemoval
boolean extraSmartNameRemoval
public boolean removeDeadCode
CompilerOptions.ExtractPrototypeMemberDeclarationsMode extractPrototypeMemberDeclarations
public boolean removeUnusedPrototypeProperties
public boolean removeUnusedPrototypePropertiesInExterns
public boolean removeUnusedClassProperties
boolean removeUnusedConstructorProperties
public boolean removeUnusedVars
public boolean removeUnusedLocalVars
public boolean collapseVariableDeclarations
public boolean collapseAnonymousFunctions
public java.util.Set<java.lang.String> aliasableStrings
public java.lang.String aliasStringsBlacklist
public boolean aliasAllStrings
boolean outputJsStringUsage
public boolean convertToDottedProperties
public boolean rewriteFunctionExpressions
public boolean optimizeParameters
public boolean optimizeReturns
public boolean optimizeCalls
public boolean optimizeArgumentsArray
boolean chainCalls
boolean useTypesForOptimization
public VariableRenamingPolicy variableRenaming
PropertyRenamingPolicy propertyRenaming
public boolean labelRenaming
public boolean reserveRawExports
boolean shadowVariables
boolean preferStableNames
public boolean generatePseudoNames
public java.lang.String renamePrefix
public java.lang.String renamePrefixNamespace
boolean renamePrefixNamespaceAssumeCrossModuleNames
public boolean collapseProperties
boolean collapseObjectLiterals
public boolean devirtualizePrototypeMethods
public boolean computeFunctionSideEffects
java.lang.String debugFunctionSideEffectsPath
boolean disambiguatePrivateProperties
public boolean disambiguateProperties
public boolean ambiguateProperties
com.google.common.collect.ImmutableMap<java.lang.String,SourceMapInput> inputSourceMaps
public AnonymousFunctionNamingPolicy anonymousFunctionNaming
VariableMap inputAnonymousFunctionNamingMap
VariableMap inputVariableMap
During renaming, the compiler uses this map and the inputPropertyMap to try to preserve renaming mappings from a previous compilation. The application is delta encoding: keeping the diff between consecutive versions of one's code small. The compiler does NOT guarantee to respect these maps; projects should not use these maps to prevent renaming or to select particular names. Point questioners to this post: http://closuretools.blogspot.com/2011/01/property-by-any-other-name-part-3.html
VariableMap inputPropertyMap
public boolean exportTestFunctions
boolean declaredGlobalExternsOnWindow
NameGenerator nameGenerator
boolean replaceMessagesWithChromeI18n
java.lang.String tcProjectId
boolean runtimeTypeCheck
java.lang.String runtimeTypeCheckLogFunction
private CodingConvention codingConvention
public java.lang.String syntheticBlockStartMarker
public java.lang.String syntheticBlockEndMarker
public java.lang.String locale
public boolean markAsCompiled
public boolean closurePass
public boolean preserveGoogRequires
public boolean jqueryPass
boolean angularPass
boolean polymerPass
boolean dartPass
boolean j2clPass
boolean removeAbstractMethods
boolean removeClosureAsserts
public boolean gatherCssNames
public java.util.Set<java.lang.String> stripTypes
public java.util.Set<java.lang.String> stripNameSuffixes
public java.util.Set<java.lang.String> stripNamePrefixes
public java.util.Set<java.lang.String> stripTypePrefixes
protected transient com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPasses
public boolean markNoSideEffectCalls
private java.util.Map<java.lang.String,java.lang.Object> defineReplacements
private CompilerOptions.TweakProcessing tweakProcessing
private java.util.Map<java.lang.String,java.lang.Object> tweakReplacements
public boolean moveFunctionDeclarations
public Instrumentation instrumentationTemplate
java.lang.String appNameStr
public boolean recordFunctionInformation
public boolean checksOnly
public boolean generateExports
boolean generateExportsAfterTypeChecking
boolean exportLocalPropertyDefinitions
public CssRenamingMap cssRenamingMap
java.util.Set<java.lang.String> cssRenamingWhitelist
boolean processObjectPropertyString
boolean replaceIdGenerators
com.google.common.collect.ImmutableMap<java.lang.String,RenamingMap> idGenerators
java.lang.String idGeneratorsMapSerialized
java.util.List<java.lang.String> replaceStringsFunctionDescriptions
java.lang.String replaceStringsPlaceholderToken
java.util.Set<java.lang.String> replaceStringsReservedStrings
VariableMap replaceStringsInputMap
java.util.Map<java.lang.String,CheckLevel> propertyInvalidationErrors
boolean transformAMDToCJSModules
boolean processCommonJSModules
java.util.List<java.lang.String> moduleRoots
boolean rewritePolyfills
java.util.List<java.lang.String> forceLibraryInjection
java.util.Set<java.lang.String> preventLibraryInjection
public boolean preserveTypeAnnotations
public boolean prettyPrint
public boolean lineBreak
public boolean preferLineBreakAtEndOfFile
public boolean printInputDelimiter
public java.lang.String inputDelimiter
boolean preferSingleQuotes
boolean trustedStrings
java.lang.String reportPath
boolean printSourceAfterEachPass
CompilerOptions.TracerMode tracer
private boolean colorizeErrorOutput
public ErrorFormat errorFormat
private ComposeWarningsGuard warningsGuard
int summaryDetailLevel
int lineLengthThreshold
private boolean externExports
Result
after
compilation. This is implicitly true if externExportsPath
is set.java.lang.String externExportsPath
java.lang.String nameReferenceReportPath
java.lang.String nameReferenceGraphPath
public java.lang.String sourceMapOutputPath
public SourceMap.DetailLevel sourceMapDetailLevel
public SourceMap.Format sourceMapFormat
public java.util.List<SourceMap.LocationMapping> sourceMapLocationMappings
boolean useDebugLog
java.nio.charset.Charset outputCharset
boolean enforceAccessControlCodingConventions
boolean protectHiddenSideEffects
private transient CompilerOptions.AliasTransformationHandler aliasHandler
transient ErrorHandler errorHandler
public boolean instrumentForCoverage
java.lang.String instrumentationTemplateFile
private com.google.common.collect.ImmutableList<ConformanceConfig> conformanceConfigs
public static final RenamingMap UNIQUE_ID_GENERATOR
static final CompilerOptions.AliasTransformationHandler NULL_ALIAS_TRANSFORMATION_HANDLER
public CompilerOptions()
public void setSkipTranspilationAndCrash(boolean value)
public void setInferConst(boolean value)
public void setReportMissingOverride(CheckLevel level)
@Deprecated public void setCheckRequires(CheckLevel level)
setWarningLevel(DiagnosticGroups.MISSING_REQUIRE, CheckLevel.WARNING);
or
setWarningLevel(DiagnosticGroups.MISSING_REQUIRE, CheckLevel.ERROR);
@Deprecated public void setCheckProvides(CheckLevel level)
public void setCheckGlobalNamesLevel(CheckLevel level)
@Deprecated public void setBrokenClosureRequiresLevel(CheckLevel level)
public void setCheckGlobalThisLevel(CheckLevel level)
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.public void setCheckMissingGetCssNameLevel(CheckLevel level)
public void setCheckEventfulObjectDisposalPolicy(CheckEventfulObjectDisposal.DisposalCheckingPolicy policy)
public CheckEventfulObjectDisposal.DisposalCheckingPolicy getCheckEventfulObjectDisposalPolicy()
public boolean getLegacyCodeCompile()
public void setLegacyCodeCompile(boolean legacy)
void setRenamePrefixNamespaceAssumeCrossModuleNames(boolean assume)
public void setCollapseObjectLiterals(boolean enabled)
public void setReplaceMessagesWithChromeI18n(boolean replaceMessagesWithChromeI18n, java.lang.String tcProjectId)
public void setAppNameStr(java.lang.String appNameStr)
public void setPreferSingleQuotes(boolean enabled)
public void setTrustedStrings(boolean yes)
public void setPrintSourceAfterEachPass(boolean printSource)
public void setReportPath(java.lang.String reportPath)
public CompilerOptions.TracerMode getTracerMode()
public void setTracerMode(CompilerOptions.TracerMode mode)
public void setNameReferenceReportPath(java.lang.String filePath)
public void setNameReferenceGraphPath(java.lang.String filePath)
public void setProtectHiddenSideEffects(boolean enable)
public boolean isRemoveUnusedClassProperties()
public void setRemoveUnusedClassProperties(boolean removeUnusedClassProperties)
removeUnusedClassProperties
- Whether to attempt to remove
unused class propertiespublic boolean isRemoveUnusedConstructorProperties()
public void setRemoveUnusedConstructorProperties(boolean removeUnused)
removeUnused
- Whether to attempt to remove
unused constructor propertiespublic java.util.Map<java.lang.String,Node> getDefineReplacements()
public java.util.Map<java.lang.String,Node> getTweakReplacements()
private static java.util.Map<java.lang.String,Node> getReplacementsHelper(java.util.Map<java.lang.String,java.lang.Object> source)
public void setDefineToBooleanLiteral(java.lang.String defineName, boolean value)
@define
variable in JS
to a boolean literal.public void setDefineToStringLiteral(java.lang.String defineName, java.lang.String value)
@define
variable in JS to a
String literal.public void setDefineToNumberLiteral(java.lang.String defineName, int value)
@define
variable in JS to a
number literal.public void setDefineToDoubleLiteral(java.lang.String defineName, double value)
@define
variable in JS to a
number literal.public void setTweakToBooleanLiteral(java.lang.String tweakId, boolean value)
public void setTweakToStringLiteral(java.lang.String tweakId, java.lang.String value)
public void setTweakToNumberLiteral(java.lang.String tweakId, int value)
public void setTweakToDoubleLiteral(java.lang.String tweakId, double value)
public void skipAllCompilerPasses()
boolean enables(DiagnosticGroup type)
boolean disables(DiagnosticGroup type)
public void setWarningLevel(DiagnosticGroup type, CheckLevel level)
WarningsGuard getWarningsGuard()
public void resetWarningsGuard()
void useEmergencyFailSafe()
void useNonStrictWarningsGuard()
public void addWarningsGuard(WarningsGuard guard)
public void setRenamingPolicy(VariableRenamingPolicy newVariablePolicy, PropertyRenamingPolicy newPropertyPolicy)
public void setShadowVariables(boolean shadow)
public void setProcessObjectPropertyString(boolean process)
public void setReplaceIdGenerators(boolean replaceIdGenerators)
replaceIdGenerators
- the replaceIdGenerators to setpublic void setIdGenerators(java.util.Set<java.lang.String> idGenerators)
public void setIdGenerators(java.util.Map<java.lang.String,RenamingMap> idGenerators)
public void setIdGeneratorsMap(java.lang.String previousMappings)
public void setInlineFunctions(CompilerOptions.Reach reach)
public void setMaxFunctionSizeAfterInlining(int funAstSize)
public void setInlineVariables(CompilerOptions.Reach reach)
public void setInlineProperties(boolean enable)
public void setRemoveUnusedVariables(CompilerOptions.Reach reach)
public void setReplaceStringsConfiguration(java.lang.String placeholderToken, java.util.List<java.lang.String> functionDescriptors)
public void setRemoveAbstractMethods(boolean remove)
public void setRemoveClosureAsserts(boolean remove)
public void setColorizeErrorOutput(boolean colorizeErrorOutput)
public boolean shouldColorizeErrorOutput()
public void setChainCalls(boolean value)
public void enableRuntimeTypeCheck(java.lang.String logFunction)
logFunction
- A JS function to be used for logging run-time type
assertion failures.public void disableRuntimeTypeCheck()
public void setChecksOnly(boolean checksOnly)
public void setGenerateExports(boolean generateExports)
public void setExportLocalPropertyDefinitions(boolean export)
public void setAngularPass(boolean angularPass)
public void setPolymerPass(boolean polymerPass)
public void setDartPass(boolean dartPass)
public void setJ2clPass(boolean j2clPass)
public void setCodingConvention(CodingConvention codingConvention)
public CodingConvention getCodingConvention()
public void setDependencyOptions(DependencyOptions options)
public DependencyOptions getDependencyOptions()
public void setManageClosureDependencies(boolean newVal)
public void setManageClosureDependencies(java.util.List<java.lang.String> entryPoints)
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.public void setSummaryDetailLevel(int summaryDetailLevel)
@Deprecated public void enableExternExports(boolean enabled)
setExternExports(boolean)
public void setExtraAnnotationNames(java.lang.Iterable<java.lang.String> extraAnnotationNames)
public boolean isExternExportsEnabled()
public void setOutputCharset(java.nio.charset.Charset charsetName)
java.nio.charset.Charset getOutputCharset()
public void setTweakProcessing(CompilerOptions.TweakProcessing tweakProcessing)
public CompilerOptions.TweakProcessing getTweakProcessing()
public void setLanguage(CompilerOptions.LanguageMode language)
public void setLanguageIn(CompilerOptions.LanguageMode languageIn)
public CompilerOptions.LanguageMode getLanguageIn()
public void setLanguageOut(CompilerOptions.LanguageMode languageOut)
public CompilerOptions.LanguageMode getLanguageOut()
public void setEnvironment(CompilerOptions.Environment environment)
public CompilerOptions.Environment getEnvironment()
boolean lowerFromEs6()
boolean raiseToEs6Typed()
public void setAliasTransformationHandler(CompilerOptions.AliasTransformationHandler changes)
public CompilerOptions.AliasTransformationHandler getAliasTransformationHandler()
public void setErrorHandler(ErrorHandler handler)
public void setInferTypes(boolean enable)
public boolean getInferTypes()
public boolean getNewTypeInference()
public void setNewTypeInference(boolean enable)
public void setReportOTIErrorsUnderNTI(boolean enable)
public boolean assumeStrictThis()
public void setAssumeStrictThis(boolean enable)
public boolean assumeClosuresOnlyCaptureReferences()
public void setAssumeClosuresOnlyCaptureReferences(boolean enable)
public void setPropertyInvalidationErrors(java.util.Map<java.lang.String,CheckLevel> propertyInvalidationErrors)
public void setIdeMode(boolean ideMode)
public void setParseJsDocDocumentation(boolean parseJsDocDocumentation)
parseJsDocDocumentation
- True to enable JSDoc documentation parsing, false to disable it.public boolean isParseJsDocDocumentation()
public void setPreserveJsDocWhitespace(boolean preserveJsDocWhitespace)
Setting this option has no effect if isParseJsDocDocumentation()
returns false.
preserveJsDocWhitespace
- True to preserve whitespace in text extracted from JSDoc comments.public boolean isPreserveJsDocWhitespace()
public void setSkipNonTranspilationPasses(boolean skipNonTranspilationPasses)
public void setDevMode(CompilerOptions.DevMode devMode)
public void setCheckDeterminism(boolean checkDeterminism)
public boolean getCheckDeterminism()
public void setMessageBundle(MessageBundle messageBundle)
public void setCheckSymbols(boolean checkSymbols)
public void setCheckSuspiciousCode(boolean checkSuspiciousCode)
public void setCheckTypes(boolean checkTypes)
public void setCheckMissingGetCssNameBlacklist(java.lang.String blackList)
public void setFoldConstants(boolean foldConstants)
public void setDeadAssignmentElimination(boolean deadAssignmentElimination)
public void setInlineConstantVars(boolean inlineConstantVars)
public void setInlineFunctions(boolean inlineFunctions)
public void setInlineLocalFunctions(boolean inlineLocalFunctions)
public void setCrossModuleCodeMotion(boolean crossModuleCodeMotion)
public void setCrossModuleCodeMotionNoStubMethods(boolean crossModuleCodeMotionNoStubMethods)
public void setParentModuleCanSeeSymbolsDeclaredInChildren(boolean parentModuleCanSeeSymbolsDeclaredInChildren)
public void setCoalesceVariableNames(boolean coalesceVariableNames)
public void setCrossModuleMethodMotion(boolean crossModuleMethodMotion)
public void setInlineGetters(boolean inlineGetters)
public void setInlineVariables(boolean inlineVariables)
public void setInlineLocalVariables(boolean inlineLocalVariables)
public void setFlowSensitiveInlineVariables(boolean enabled)
public void setSmartNameRemoval(boolean smartNameRemoval)
public void setExtraSmartNameRemoval(boolean smartNameRemoval)
public void setRemoveDeadCode(boolean removeDeadCode)
public void setExtractPrototypeMemberDeclarations(boolean enabled)
public void setExtractPrototypeMemberDeclarations(CompilerOptions.ExtractPrototypeMemberDeclarationsMode mode)
public void setRemoveUnusedPrototypeProperties(boolean enabled)
public void setRemoveUnusedPrototypePropertiesInExterns(boolean enabled)
public void setRemoveUnusedVars(boolean removeUnusedVars)
public void setRemoveUnusedLocalVars(boolean removeUnusedLocalVars)
public void setCollapseVariableDeclarations(boolean enabled)
public void setCollapseAnonymousFunctions(boolean enabled)
public void setAliasableStrings(java.util.Set<java.lang.String> aliasableStrings)
public void setAliasStringsBlacklist(java.lang.String aliasStringsBlacklist)
public void setAliasAllStrings(boolean aliasAllStrings)
public void setOutputJsStringUsage(boolean outputJsStringUsage)
public void setConvertToDottedProperties(boolean convertToDottedProperties)
public void setRewriteFunctionExpressions(boolean rewriteFunctionExpressions)
public void setOptimizeParameters(boolean optimizeParameters)
public void setOptimizeReturns(boolean optimizeReturns)
public void setOptimizeCalls(boolean optimizeCalls)
public void setOptimizeArgumentsArray(boolean optimizeArgumentsArray)
public void setVariableRenaming(VariableRenamingPolicy variableRenaming)
public void setPropertyRenaming(PropertyRenamingPolicy propertyRenaming)
public void setLabelRenaming(boolean labelRenaming)
public void setReserveRawExports(boolean reserveRawExports)
public void setPreferStableNames(boolean preferStableNames)
public void setGeneratePseudoNames(boolean generatePseudoNames)
public void setRenamePrefix(java.lang.String renamePrefix)
public java.lang.String getRenamePrefixNamespace()
public void setRenamePrefixNamespace(java.lang.String renamePrefixNamespace)
public void setCollapseProperties(boolean collapseProperties)
public void setDevirtualizePrototypeMethods(boolean devirtualizePrototypeMethods)
public void setComputeFunctionSideEffects(boolean computeFunctionSideEffects)
public void setDebugFunctionSideEffectsPath(java.lang.String debugFunctionSideEffectsPath)
public boolean isDisambiguatePrivateProperties()
public void setDisambiguatePrivateProperties(boolean value)
value
- Whether to enable private property disambiguation based on
the coding convention.public void setDisambiguateProperties(boolean disambiguateProperties)
public void setAmbiguateProperties(boolean ambiguateProperties)
public void setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy anonymousFunctionNaming)
public void setInputAnonymousFunctionNamingMap(VariableMap inputMap)
public void setInputVariableMap(VariableMap inputVariableMap)
public void setInputPropertyMap(VariableMap inputPropertyMap)
public void setExportTestFunctions(boolean exportTestFunctions)
public void setRuntimeTypeCheck(boolean runtimeTypeCheck)
public void setRuntimeTypeCheckLogFunction(java.lang.String runtimeTypeCheckLogFunction)
public void setSyntheticBlockStartMarker(java.lang.String syntheticBlockStartMarker)
public void setSyntheticBlockEndMarker(java.lang.String syntheticBlockEndMarker)
public void setLocale(java.lang.String locale)
public void setMarkAsCompiled(boolean markAsCompiled)
public void setClosurePass(boolean closurePass)
public void setPreserveGoogRequires(boolean preserveGoogRequires)
public void setPreserveTypeAnnotations(boolean preserveTypeAnnotations)
public void setGatherCssNames(boolean gatherCssNames)
public void setStripTypes(java.util.Set<java.lang.String> stripTypes)
public void setStripNameSuffixes(java.util.Set<java.lang.String> stripNameSuffixes)
public void setStripNamePrefixes(java.util.Set<java.lang.String> stripNamePrefixes)
public void setStripTypePrefixes(java.util.Set<java.lang.String> stripTypePrefixes)
public void addCustomPass(CustomPassExecutionTime time, CompilerPass customPass)
public void setMarkNoSideEffectCalls(boolean markNoSideEffectCalls)
public void setDefineReplacements(java.util.Map<java.lang.String,java.lang.Object> defineReplacements)
public void setTweakReplacements(java.util.Map<java.lang.String,java.lang.Object> tweakReplacements)
public void setMoveFunctionDeclarations(boolean moveFunctionDeclarations)
public void setInstrumentationTemplate(Instrumentation instrumentationTemplate)
public void setInstrumentationTemplateFile(java.lang.String filename)
public void setRecordFunctionInformation(boolean recordFunctionInformation)
public void setCssRenamingMap(CssRenamingMap cssRenamingMap)
public void setCssRenamingWhitelist(java.util.Set<java.lang.String> whitelist)
public void setReplaceStringsFunctionDescriptions(java.util.List<java.lang.String> replaceStringsFunctionDescriptions)
public void setReplaceStringsPlaceholderToken(java.lang.String replaceStringsPlaceholderToken)
public void setReplaceStringsReservedStrings(java.util.Set<java.lang.String> replaceStringsReservedStrings)
public void setReplaceStringsInputMap(VariableMap serializedMap)
public void setPrettyPrint(boolean prettyPrint)
public void setLineBreak(boolean lineBreak)
public boolean getPreferLineBreakAtEndOfFile()
public void setPreferLineBreakAtEndOfFile(boolean lineBreakAtEnd)
public void setPrintInputDelimiter(boolean printInputDelimiter)
public void setInputDelimiter(java.lang.String inputDelimiter)
public void setErrorFormat(ErrorFormat errorFormat)
public ErrorFormat getErrorFormat()
public void setWarningsGuard(ComposeWarningsGuard warningsGuard)
public void setLineLengthThreshold(int lineLengthThreshold)
public int getLineLengthThreshold()
public void setExternExports(boolean externExports)
public void setExternExportsPath(java.lang.String externExportsPath)
public void setSourceMapOutputPath(java.lang.String sourceMapOutputPath)
@GwtIncompatible(value="SourceMap") public void setSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel)
@GwtIncompatible(value="SourceMap") public void setSourceMapFormat(SourceMap.Format sourceMapFormat)
@GwtIncompatible(value="SourceMap") public void setSourceMapLocationMappings(java.util.List<SourceMap.LocationMapping> sourceMapLocationMappings)
public void setTransformAMDToCJSModules(boolean transformAMDToCJSModules)
public void setProcessCommonJSModules(boolean processCommonJSModules)
public void setCommonJSModulePathPrefix(java.lang.String commonJSModulePathPrefix)
setModuleRoots(List)
).public void setModuleRoots(java.util.List<java.lang.String> moduleRoots)
public void setRewritePolyfills(boolean rewritePolyfills)
public void setForceLibraryInjection(java.lang.Iterable<java.lang.String> libraries)
public void setPreventLibraryInjection(java.lang.Iterable<java.lang.String> libraries)
public void setInstrumentForCoverage(boolean instrumentForCoverage)
public java.util.List<ConformanceConfig> getConformanceConfigs()
@GwtIncompatible(value="Conformance") public void setConformanceConfig(ConformanceConfig conformanceConfig)
@GwtIncompatible(value="Conformance") public void setConformanceConfigs(java.util.List<ConformanceConfig> configs)