com.google.javascript.jscomp
Class CompilerOptions

java.lang.Object
  extended by com.google.javascript.jscomp.CompilerOptions
All Implemented Interfaces:
Serializable, Cloneable

public class CompilerOptions
extends Object
implements Serializable, Cloneable

Compiler options

See Also:
Serialized Form

Nested Class Summary
static interface CompilerOptions.AliasTransformation
          A Role Specific Interface for the JS Compiler to report aliases used to change the code during a compile.
static interface CompilerOptions.AliasTransformationHandler
          A Role Specific Interface for JS Compiler that represents a data holder object which is used to store goog.scope alias code changes to code made during a compile.
static class CompilerOptions.LanguageMode
          When to do the extra sanity checks
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
 
Field Summary
 CheckLevel aggressiveVarCheck
           
 Set<String> aliasableStrings
          If set to a non-empty set, those strings literals will be aliased to a single global instance per string, to avoid creating more objects than necessary.
 boolean aliasAllStrings
          Aliases all string literals to global instances, to avoid creating more objects than necessary (if true, overrides any set of strings passed in to aliasableStrings)
 boolean aliasExternals
          Adds variable aliases for externals to reduce code size
 boolean aliasKeywords
          Aliases true, false, and null to variables with shorter names.
 String aliasStringsBlacklist
          A blacklist in the form of a regular expression to block strings that contains certain words from being aliased.
 boolean ambiguateProperties
          Rename unrelated properties to the same name to reduce code size.
 AnonymousFunctionNamingPolicy anonymousFunctionNaming
          Give anonymous functions names for easier debugging
 CheckLevel brokenClosureRequiresLevel
           
 boolean checkControlStructures
          Checks for invalid control structures
 CheckLevel checkGlobalNamesLevel
           
 CheckLevel checkGlobalThisLevel
           
 String checkMissingGetCssNameBlacklist
          Regex of string literals that may only appear in goog.getCssName arguments.
 CheckLevel checkMissingGetCssNameLevel
           
 CheckLevel checkMissingReturn
           
 CheckLevel checkProvides
           
 CheckLevel checkRequires
          Checks for missing goog.require() calls
 boolean checkSuspiciousCode
          Checks for suspicious statements that have no effect
 boolean checkSymbols
          Checks that all symbols are defined
 boolean checkTypes
          Checks types on expressions
 CheckLevel checkUnreachableCode
           
 boolean closurePass
          Processes goog.provide() and goog.require() calls
 boolean coalesceVariableNames
          Merge two variables together as one.
 boolean collapseAnonymousFunctions
          Collapses anonymous function declarations into named function declarations
 boolean collapseProperties
          Flattens multi-level property names (e.g.
 boolean collapseVariableDeclarations
          Collapses multiple variable declarations into one
 boolean computeFunctionSideEffects
          Use @nosideeffects annotations, function bodies and name graph to determine if calls have side effects.
 boolean convertToDottedProperties
          Converts quoted property accesses to dot syntax (a['b'] -> a.b)
 boolean crossModuleCodeMotion
          Move code to a deeper module
 boolean crossModuleMethodMotion
          Move methods to a deeper module
 CssRenamingMap cssRenamingMap
          Map used in the renaming of CSS class names.
 com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPasses
          Custom passes
 boolean deadAssignmentElimination
          Remove assignments to values that can not be referenced
 boolean devirtualizePrototypeMethods
          Devirtualize prototype method by rewriting them to be static calls that take the this pointer as their first argument
 boolean disambiguateProperties
          Rename properties to disambiguate between unrelated fields based on type information.
 ErrorFormat errorFormat
           
 boolean exportTestFunctions
          Whether to export test functions.
 boolean extractPrototypeMemberDeclarations
          Extracts common prototype member declarations
 boolean flowSensitiveInlineVariables
           
 boolean foldConstants
          Folds constants (e.g.
 boolean gatherCssNames
          Gather CSS names (requires closurePass)
 boolean generateExports
           
 boolean generatePseudoNames
          Generate pseudo names for variables and properties for debugging purposes.
 boolean ideMode
          Configures the compiler for use as an IDE backend.
 boolean inlineConstantVars
          Inlines constants (symbols that are all CAPS)
 boolean inlineFunctions
          Inlines global functions
 boolean inlineGetters
          Inlines trivial getters
 boolean inlineLocalFunctions
          Inlines functions defined in local scopes
 boolean inlineVariables
          Inlines variables
 String inputDelimiter
          The string to use as the separator for printInputDelimiter
 String instrumentationTemplate
          Instrumentation template to use with #recordFunctionInformation
 boolean instrumentForCoverage
          Instrument code for the purpose of collecting coverage data.
 boolean jqueryPass
          Processes jQuery aliases
 boolean labelRenaming
          Controls label renaming.
 boolean lineBreak
          Line break the output a bit more aggressively
 String locale
          Compiling locale
 boolean markAsCompiled
          Sets the special "COMPILED" value to true
 boolean markNoSideEffectCalls
          Mark no side effect calls
 MessageBundle messageBundle
          Returns localized replacement for MSG_* variables
 boolean moveFunctionDeclarations
          Move top-level function declarations to the top
 boolean optimizeArgumentsArray
          Provide formal names for elements of arguments array.
 boolean optimizeCalls
          Remove unused parameters from call sites.
 boolean optimizeParameters
          Remove unused and constant parameters.
 boolean optimizeReturns
          Remove unused return values.
 boolean preferLineBreakAtEndOfFile
          Prefer line breaks at end of file
 boolean prettyPrint
          Output in pretty indented format
 boolean printInputDelimiter
          Prints a separator comment before each JS script
 PropertyRenamingPolicy propertyRenaming
          Controls which properties get renamed.
 boolean recordFunctionInformation
          Record function information
 boolean removeDeadCode
          Removes code that will never execute
 boolean removeTryCatchFinally
          Removes try...catch...finally blocks for easier debugging
 boolean removeUnusedClassProperties
          Removes unused member properties
 boolean removeUnusedLocalVars
          Removes unused variables in local scope.
 boolean removeUnusedPrototypeProperties
          Removes unused member prototypes
 boolean removeUnusedPrototypePropertiesInExterns
          Tells AnalyzePrototypeProperties it can remove externed props.
 boolean removeUnusedVars
          Removes unused variables
 String renamePrefix
          Specifies a prefix for all globals
 String renamePrefixNamespace
          Specifies the name of an object that will be used to store all non-extern globals.
 CheckLevel reportMissingOverride
           
 boolean reserveRawExports
          Reserve property names on the global this object.
 boolean rewriteFunctionExpressions
          Reduces the size of common function expressions.
 boolean smartNameRemoval
          Removes code associated with unused global names
 SourceMap.DetailLevel sourceMapDetailLevel
          The detail level for the generated source map.
 SourceMap.Format sourceMapFormat
          The source map file format
 List<SourceMap.LocationMapping> sourceMapLocationMappings
           
 String sourceMapOutputPath
          The output path for the source map.
 Set<String> stripNamePrefixes
          Name prefixes that determine which variables and properties to strip
 Set<String> stripNameSuffixes
          Name suffixes that determine which variables and properties to strip
 Set<String> stripTypePrefixes
          Qualified type name prefixes that determine which types to strip
 Set<String> stripTypes
          Names of types to strip
 String syntheticBlockEndMarker
           
 String syntheticBlockStartMarker
           
static RenamingMap UNIQUE_ID_GENERATOR
          A renaming map instance to use to signal the use of the "inconsistent" id generator type.
 VariableRenamingPolicy variableRenaming
          Controls which variables get renamed.
 
Constructor Summary
CompilerOptions()
          Initializes compiler options.
 
Method Summary
 void addWarningsGuard(WarningsGuard guard)
          Add a guard to the set of warnings guards.
 boolean assumeClosuresOnlyCaptureReferences()
           
 boolean assumeStrictThis()
           
 Object clone()
           
 void disableRuntimeTypeCheck()
           
 void enableExternExports(boolean enabled)
          Deprecated. replaced by setExternExports(boolean)
 void enableRuntimeTypeCheck(String logFunction)
          Enable run-time type checking, which adds JS type assertions for debugging.
 CompilerOptions.AliasTransformationHandler getAliasTransformationHandler()
           
 boolean getCheckDeterminism()
           
 CheckEventfulObjectDisposal.DisposalCheckingPolicy getCheckEventfulObjectDisposalPolicy()
           
 CodingConvention getCodingConvention()
           
 Map<String,Node> getDefineReplacements()
          Returns the map of define replacements.
 boolean getInferTypes()
          Gets the inferTypes flag.
 boolean getInstrumentMemoryAllocations()
           
 CompilerOptions.LanguageMode getLanguageIn()
           
 CompilerOptions.LanguageMode getLanguageOut()
           
 CompilerOptions.TracerMode getTracerMode()
           
 CompilerOptions.TweakProcessing getTweakProcessing()
           
 Map<String,Node> getTweakReplacements()
          Returns the map of tweak replacements.
 boolean isDisambiguatePrivateProperties()
           
 boolean isExternExportsEnabled()
           
 boolean isRemoveUnusedClassProperties()
           
 void resetWarningsGuard()
          Reset the warnings guard.
 void setAcceptConstKeyword(boolean value)
          If true, accept `const' keyword.
 void setAggressiveRenaming(boolean aggressive)
           
 void setAggressiveVarCheck(CheckLevel level)
          Checks for suspicious variable definitions and undefined variables
 void setAliasableGlobals(String names)
          A comma separated white-list of global names.
 void setAliasableStrings(Set<String> aliasableStrings)
           
 void setAliasAllStrings(boolean aliasAllStrings)
           
 void setAliasExternals(boolean aliasExternals)
           
 void setAliasKeywords(boolean aliasKeywords)
           
 void setAliasStringsBlacklist(String aliasStringsBlacklist)
           
 void setAliasTransformationHandler(CompilerOptions.AliasTransformationHandler changes)
           
 void setAlternateRenaming(boolean altnerate)
           
 void setAmbiguateProperties(boolean ambiguateProperties)
           
 void setAngularPass(boolean angularPass)
           
 void setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy anonymousFunctionNaming)
           
 void setAppNameStr(String appNameStr)
          App identifier string for use by the instrumentation template's app_name_setter.
 void setAssumeClosuresOnlyCaptureReferences(boolean enable)
          Whether to assume closures capture only what they reference.
 void setAssumeStrictThis(boolean enable)
          If true, enables enables additional optimizations.
 void setBrokenClosureRequiresLevel(CheckLevel level)
          Sets the check level for bad Closure require calls.
 void setChainCalls(boolean value)
          If true, chain calls to functions that return this.
 void setCheckCaja(boolean check)
           
 void setCheckControlStructures(boolean checkControlStructures)
           
 void setCheckDeterminism(boolean checkDeterminism)
           
 void 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(String blackList)
           
 void setCheckMissingGetCssNameLevel(CheckLevel level)
          Checks that certain string literals only appear in strings used as goog.getCssName arguments.
 void setCheckMissingReturn(CheckLevel level)
          Checks for missing return statements
 void setCheckProvides(CheckLevel level)
          Checks for missing goog.provides() calls
 void setCheckRequires(CheckLevel level)
           
 void setCheckSuspiciousCode(boolean checkSuspiciousCode)
           
 void setCheckSymbols(boolean checkSymbols)
           
 void setCheckTypes(boolean checkTypes)
           
 void setCheckUnreachableCode(CheckLevel level)
          Checks for unreachable code
 void setClosurePass(boolean closurePass)
           
 void setCoalesceVariableNames(boolean coalesceVariableNames)
           
 void setCodingConvention(CodingConvention codingConvention)
           
 void setCollapseAnonymousFunctions(boolean enabled)
           
 void setCollapseObjectLiterals(boolean enabled)
           
 void setCollapseProperties(boolean collapseProperties)
           
 void setCollapsePropertiesOnExternTypes(boolean collapse)
          If true, flattens multi-level property names on extern types (e.g.
 void setCollapseVariableDeclarations(boolean enabled)
           
 void setColorizeErrorOutput(boolean colorizeErrorOutput)
           
 void setCommonJSModulePathPrefix(String commonJSModulePathPrefix)
          Sets a path prefix for CommonJS modules.
 void setComputeFunctionSideEffects(boolean computeFunctionSideEffects)
           
 void setConvertToDottedProperties(boolean convertToDottedProperties)
           
 void setCrossModuleCodeMotion(boolean crossModuleCodeMotion)
           
 void setCrossModuleMethodMotion(boolean crossModuleMethodMotion)
           
 void setCssRenamingMap(CssRenamingMap cssRenamingMap)
           
 void setCssRenamingWhitelist(Set<String> whitelist)
           
 void setCustomPasses(com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPasses)
           
 void setDeadAssignmentElimination(boolean deadAssignmentElimination)
           
 void setDebugFunctionSideEffectsPath(String debugFunctionSideEffectsPath)
           
 void setDefineReplacements(Map<String,Object> defineReplacements)
           
 void setDefineToBooleanLiteral(String defineName, boolean value)
          Sets the value of the @define variable in JS to a boolean literal.
 void setDefineToDoubleLiteral(String defineName, double value)
          Sets the value of the @define variable in JS to a number literal.
 void setDefineToNumberLiteral(String defineName, int value)
          Sets the value of the @define variable in JS to a number literal.
 void setDefineToStringLiteral(String defineName, String value)
          Sets the value of the @define variable in JS to a String literal.
 void setDependencyOptions(DependencyOptions options)
          Sets dependency options.
 void setDevirtualizePrototypeMethods(boolean devirtualizePrototypeMethods)
           
 void setDevMode(com.google.javascript.jscomp.CompilerOptions.DevMode devMode)
           
 void setDisambiguatePrivateProperties(boolean value)
           
 void setDisambiguateProperties(boolean disambiguateProperties)
           
 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(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(Map<String,RenamingMap> idGenerators)
          Sets the id generators to replace.
 void setIdGenerators(Set<String> idGenerators)
          Sets the id generators to replace.
 void setIdGeneratorsMap(String previousMappings)
          A previous map of ids (serialized to a string by a previous compile).
 void setIgnoreCajaProperties(boolean enabled)
          Add code to skip properties that Caja adds to Object.prototype
 void setInferTypes(boolean enable)
          If true, enables type inference.
 void setInlineConstantVars(boolean inlineConstantVars)
           
 void setInlineFunctions(boolean inlineFunctions)
           
 void setInlineFunctions(CompilerOptions.Reach reach)
          Set the function inlining policy for the compiler.
 void setInlineGetters(boolean inlineGetters)
           
 void setInlineLocalFunctions(boolean inlineLocalFunctions)
           
 void setInlineLocalVariables(boolean inlineLocalVariables)
           
 void setInlineProperties(boolean enable)
          Set the function inlining policy for the compiler.
 void setInlineVariables(boolean inlineVariables)
           
 void setInlineVariables(CompilerOptions.Reach reach)
          Set the variable inlining policy for the compiler.
 void setInputAnonymousFunctionNamingMap(VariableMap inputMap)
           
 void setInputDelimiter(String inputDelimiter)
           
 void setInputPropertyMap(VariableMap inputPropertyMap)
           
 void setInputPropertyMapSerialized(byte[] inputPropertyMapSerialized)
          Deprecated. 
 void setInputVariableMap(VariableMap inputVariableMap)
           
 void setInputVariableMapSerialized(byte[] inputVariableMapSerialized)
          Deprecated. 
 void setInstrumentationTemplate(String instrumentationTemplate)
           
 void setInstrumentForCoverage(boolean instrumentForCoverage)
          Set whether or not code should be modified to provide coverage information.
 void setInstrumentMemoryAllocations(boolean instrumentMemoryAllocations)
          Sets the option to instrument memory allocations.
 void setLabelRenaming(boolean labelRenaming)
           
 void setLanguageIn(CompilerOptions.LanguageMode languageIn)
          Sets how goog.tweak calls are processed.
 void setLanguageOut(CompilerOptions.LanguageMode languageOut)
           
 void setLineBreak(boolean lineBreak)
           
 void setLineLengthThreshold(int lineLengthThreshold)
           
 void setLocale(String locale)
           
 void setLooseTypes(boolean looseTypes)
          Whether to include "undefined" in the default types.
 void setManageClosureDependencies(boolean newVal)
          Sort inputs by their goog.provide/goog.require calls, and prune inputs whose symbols are not required.
 void setManageClosureDependencies(List<String> entryPoints)
          Sort inputs by their goog.provide/goog.require calls.
 void setMarkAsCompiled(boolean markAsCompiled)
           
 void setMarkNoSideEffectCalls(boolean markNoSideEffectCalls)
           
 void setMessageBundle(MessageBundle messageBundle)
           
 void setMoveFunctionDeclarations(boolean moveFunctionDeclarations)
           
 void setNameAnonymousFunctionsOnly(boolean value)
          If true, name anonymous functions only.
 void setNameReferenceGraphPath(String filePath)
          Where to save the name reference graph
 void setNameReferenceReportPath(String filePath)
          Where to save a cross-reference report from the name reference graph
 void setOptimizeArgumentsArray(boolean optimizeArgumentsArray)
           
 void setOptimizeCalls(boolean optimizeCalls)
           
 void setOptimizeParameters(boolean optimizeParameters)
           
 void setOptimizeReturns(boolean optimizeReturns)
           
 void setOutputCharset(String charsetName)
          Sets the output charset by name.
 void setOutputJsStringUsage(boolean outputJsStringUsage)
           
 void setPreferLineBreakAtEndOfFile(boolean lineBreakAtEnd)
           
 void setPreferSingleQuotes(boolean enabled)
          Normally, when there are an equal number of single and double quotes in a string, the compiler will use double quotes.
 void setPrettyPrint(boolean prettyPrint)
           
 void setPrintInputDelimiter(boolean printInputDelimiter)
           
 void setProcessCommonJSModules(boolean processCommonJSModules)
          Rewrites CommonJS modules so that modules can be concatenated together, by renaming all globals to avoid conflicting with other modules.
 void setProcessObjectPropertyString(boolean process)
          If true, process goog.testing.ObjectPropertyString instances.
 void setPropertyAffinity(boolean useAffinity)
           
 void setPropertyInvalidationErrors(Map<String,CheckLevel> propertyInvalidationErrors)
          Sets the list of properties that we report property invalidation errors for.
 void setPropertyRenaming(PropertyRenamingPolicy propertyRenaming)
           
 void setProtectHiddenSideEffects(boolean enable)
          When enabled, assume that apparently side-effect free code is meaningful.
 void setRecordFunctionInformation(boolean recordFunctionInformation)
           
 void setRemoveAbstractMethods(boolean remove)
           
 void setRemoveClosureAsserts(boolean remove)
           
 void setRemoveDeadCode(boolean removeDeadCode)
           
 void setRemoveTryCatchFinally(boolean removeTryCatchFinally)
           
 void setRemoveUnusedClassProperties(boolean removeUnusedClassProperties)
           
 void setRemoveUnusedLocalVars(boolean removeUnusedLocalVars)
           
 void setRemoveUnusedPrototypeProperties(boolean enabled)
           
 void setRemoveUnusedPrototypePropertiesInExterns(boolean enabled)
           
 void setRemoveUnusedVariable(CompilerOptions.Reach reach)
          Deprecated. 
 void setRemoveUnusedVariables(CompilerOptions.Reach reach)
          Set the variable removal policy for the compiler.
 void setRemoveUnusedVars(boolean removeUnusedVars)
           
 void setRenamePrefix(String renamePrefix)
           
 void setRenamePrefixNamespace(String renamePrefixNamespace)
           
 void setRenamingPolicy(VariableRenamingPolicy newVariablePolicy, PropertyRenamingPolicy newPropertyPolicy)
          Sets the variable and property renaming policies for the compiler, in a way that clears warnings about the renaming policy being uninitialized from flags.
 void setReplaceIdGenerators(boolean replaceIdGenerators)
           
 void setReplaceMessagesWithChromeI18n(boolean replaceMessagesWithChromeI18n, String tcProjectId)
           
 void setReplaceStringsConfiguration(String placeholderToken, List<String> functionDescriptors)
          Sets the functions whose debug strings to replace.
 void setReplaceStringsFunctionDescriptions(List<String> replaceStringsFunctionDescriptions)
           
 void setReplaceStringsInputMap(VariableMap serializedMap)
           
 void setReplaceStringsPlaceholderToken(String replaceStringsPlaceholderToken)
           
 void setReplaceStringsReservedStrings(Set<String> replaceStringsReservedStrings)
           
 void setReportMissingOverride(CheckLevel level)
          Flags a warning if a property is missing the @override annotation, but it overrides a base class property.
 void setReportPath(String reportPath)
          Where to save a report of global name usage
 void setReserveRawExports(boolean reserveRawExports)
           
 void setRewriteFunctionExpressions(boolean rewriteFunctionExpressions)
           
 void setRewriteNewDateGoogNow(boolean rewrite)
          Deprecated. 
 void setRuntimeTypeCheck(boolean runtimeTypeCheck)
           
 void setRuntimeTypeCheckLogFunction(String runtimeTypeCheckLogFunction)
           
 void setSaveDataStructures(boolean save)
          Whether to keep internal data structures around after we're finished compiling.
 void setShadowVariables(boolean shadow)
          Should shadow outer scope variable name during renaming.
 void setSkipAllPasses(boolean skipAllPasses)
           
 void setSmartNameRemoval(boolean smartNameRemoval)
           
 void setSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel)
           
 void setSourceMapFormat(SourceMap.Format sourceMapFormat)
           
 void setSourceMapLocationMappings(List<SourceMap.LocationMapping> sourceMapLocationMappings)
           
 void setSourceMapOutputPath(String sourceMapOutputPath)
           
 void setSpecializeInitialModule(boolean enabled)
          Specialize the initial module at the cost of later modules
 void setStripNamePrefixes(Set<String> stripNamePrefixes)
           
 void setStripNameSuffixes(Set<String> stripNameSuffixes)
           
 void setStripTypePrefixes(Set<String> stripTypePrefixes)
           
 void setStripTypes(Set<String> stripTypes)
           
 void setSummaryDetailLevel(int summaryDetailLevel)
          Controls how detailed the compilation summary is.
 void setSyntheticBlockEndMarker(String syntheticBlockEndMarker)
           
 void setSyntheticBlockStartMarker(String syntheticBlockStartMarker)
           
 void setTightenTypes(boolean tighten)
          Tightens types based on a global analysis.
 void setTracer(CompilerOptions.TracerMode tracer)
           
 void setTracerMode(CompilerOptions.TracerMode mode)
           
 void setTransformAMDToCJSModules(boolean transformAMDToCJSModules)
          Activates transformation of AMD to CommonJS modules.
 void setTrustedStrings(boolean yes)
          Some people want to put arbitrary user input into strings, which are then run through the compiler.
 void setTweakProcessing(CompilerOptions.TweakProcessing tweakProcessing)
          Sets how goog.tweak calls are processed.
 void setTweakReplacements(Map<String,Object> tweakReplacements)
           
 void setTweakToBooleanLiteral(String tweakId, boolean value)
          Sets the value of the tweak in JS to a boolean literal.
 void setTweakToDoubleLiteral(String tweakId, double value)
          Sets the value of the tweak in JS to a number literal.
 void setTweakToNumberLiteral(String tweakId, int value)
          Sets the value of the tweak in JS to a number literal.
 void setTweakToStringLiteral(String tweakId, String value)
          Sets the value of the tweak in JS to a String literal.
 void setUnaliasableGlobals(String names)
          A comma separated white-list of global names.
 void setVariableRenaming(VariableRenamingPolicy variableRenaming)
           
 void setWarningLevel(DiagnosticGroup type, CheckLevel level)
          Configure the given type of warning to the given level.
 void setWarningsGuard(ComposeWarningsGuard warningsGuard)
           
 boolean shouldColorizeErrorOutput()
           
 void skipAllCompilerPasses()
          Skip all possible passes, to make the compiler as fast as possible.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ideMode

public boolean ideMode
Configures the compiler for use as an IDE backend. In this mode:


messageBundle

public transient MessageBundle messageBundle
Returns localized replacement for MSG_* variables


checkSymbols

public boolean checkSymbols
Checks that all symbols are defined


aggressiveVarCheck

public CheckLevel aggressiveVarCheck

checkSuspiciousCode

public boolean checkSuspiciousCode
Checks for suspicious statements that have no effect


checkControlStructures

public boolean checkControlStructures
Checks for invalid control structures


checkTypes

public boolean checkTypes
Checks types on expressions


reportMissingOverride

public CheckLevel reportMissingOverride

checkRequires

public CheckLevel checkRequires
Checks for missing goog.require() calls


checkProvides

public CheckLevel checkProvides

checkGlobalNamesLevel

public CheckLevel checkGlobalNamesLevel

brokenClosureRequiresLevel

public CheckLevel brokenClosureRequiresLevel

checkGlobalThisLevel

public CheckLevel checkGlobalThisLevel

checkMissingGetCssNameLevel

public CheckLevel checkMissingGetCssNameLevel

checkMissingGetCssNameBlacklist

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


foldConstants

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


deadAssignmentElimination

public boolean deadAssignmentElimination
Remove assignments to values that can not be referenced


inlineConstantVars

public boolean inlineConstantVars
Inlines constants (symbols that are all CAPS)


inlineFunctions

public boolean inlineFunctions
Inlines global functions


inlineLocalFunctions

public boolean inlineLocalFunctions
Inlines functions defined in local scopes


crossModuleCodeMotion

public boolean crossModuleCodeMotion
Move code to a deeper module


coalesceVariableNames

public boolean coalesceVariableNames
Merge two variables together as one.


crossModuleMethodMotion

public boolean crossModuleMethodMotion
Move methods to a deeper module


inlineGetters

public boolean inlineGetters
Inlines trivial getters


inlineVariables

public boolean inlineVariables
Inlines variables


flowSensitiveInlineVariables

public boolean flowSensitiveInlineVariables

smartNameRemoval

public boolean smartNameRemoval
Removes code associated with unused global names


removeDeadCode

public boolean removeDeadCode
Removes code that will never execute


checkUnreachableCode

public CheckLevel checkUnreachableCode

checkMissingReturn

public CheckLevel checkMissingReturn

extractPrototypeMemberDeclarations

public boolean extractPrototypeMemberDeclarations
Extracts common prototype member declarations


removeUnusedPrototypeProperties

public boolean removeUnusedPrototypeProperties
Removes unused member prototypes


removeUnusedPrototypePropertiesInExterns

public boolean removeUnusedPrototypePropertiesInExterns
Tells AnalyzePrototypeProperties it can remove externed props.


removeUnusedClassProperties

public boolean removeUnusedClassProperties
Removes unused member properties


removeUnusedVars

public boolean removeUnusedVars
Removes unused variables


removeUnusedLocalVars

public boolean removeUnusedLocalVars
Removes unused variables in local scope.


aliasExternals

public boolean aliasExternals
Adds variable aliases for externals to reduce code size


collapseVariableDeclarations

public boolean collapseVariableDeclarations
Collapses multiple variable declarations into one


collapseAnonymousFunctions

public boolean collapseAnonymousFunctions
Collapses anonymous function declarations into named function declarations


aliasableStrings

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


aliasStringsBlacklist

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


aliasAllStrings

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


convertToDottedProperties

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


rewriteFunctionExpressions

public boolean rewriteFunctionExpressions
Reduces the size of common function expressions.


optimizeParameters

public boolean optimizeParameters
Remove unused and constant parameters.


optimizeReturns

public boolean optimizeReturns
Remove unused return values.


optimizeCalls

public boolean optimizeCalls
Remove unused parameters from call sites.


optimizeArgumentsArray

public boolean optimizeArgumentsArray
Provide formal names for elements of arguments array.


variableRenaming

public VariableRenamingPolicy variableRenaming
Controls which variables get renamed.


propertyRenaming

public PropertyRenamingPolicy propertyRenaming
Controls which properties get renamed.


labelRenaming

public boolean labelRenaming
Controls label renaming.


reserveRawExports

public boolean reserveRawExports
Reserve property names on the global this object.


generatePseudoNames

public boolean generatePseudoNames
Generate pseudo names for variables and properties for debugging purposes.


renamePrefix

public String renamePrefix
Specifies a prefix for all globals


renamePrefixNamespace

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


aliasKeywords

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


collapseProperties

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


devirtualizePrototypeMethods

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


computeFunctionSideEffects

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


disambiguateProperties

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


ambiguateProperties

public boolean ambiguateProperties
Rename unrelated properties to the same name to reduce code size.


anonymousFunctionNaming

public AnonymousFunctionNamingPolicy anonymousFunctionNaming
Give anonymous functions names for easier debugging


exportTestFunctions

public boolean exportTestFunctions
Whether to export test functions.


syntheticBlockStartMarker

public String syntheticBlockStartMarker

syntheticBlockEndMarker

public String syntheticBlockEndMarker

locale

public String locale
Compiling locale


markAsCompiled

public boolean markAsCompiled
Sets the special "COMPILED" value to true


removeTryCatchFinally

public boolean removeTryCatchFinally
Removes try...catch...finally blocks for easier debugging


closurePass

public boolean closurePass
Processes goog.provide() and goog.require() calls


jqueryPass

public boolean jqueryPass
Processes jQuery aliases


gatherCssNames

public boolean gatherCssNames
Gather CSS names (requires closurePass)


stripTypes

public Set<String> stripTypes
Names of types to strip


stripNameSuffixes

public Set<String> stripNameSuffixes
Name suffixes that determine which variables and properties to strip


stripNamePrefixes

public Set<String> stripNamePrefixes
Name prefixes that determine which variables and properties to strip


stripTypePrefixes

public Set<String> stripTypePrefixes
Qualified type name prefixes that determine which types to strip


customPasses

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


markNoSideEffectCalls

public boolean markNoSideEffectCalls
Mark no side effect calls


moveFunctionDeclarations

public boolean moveFunctionDeclarations
Move top-level function declarations to the top


instrumentationTemplate

public String instrumentationTemplate
Instrumentation template to use with #recordFunctionInformation


recordFunctionInformation

public boolean recordFunctionInformation
Record function information


generateExports

public boolean generateExports

cssRenamingMap

public CssRenamingMap cssRenamingMap
Map used in the renaming of CSS class names.


prettyPrint

public boolean prettyPrint
Output in pretty indented format


lineBreak

public boolean lineBreak
Line break the output a bit more aggressively


preferLineBreakAtEndOfFile

public boolean preferLineBreakAtEndOfFile
Prefer line breaks at end of file


printInputDelimiter

public boolean printInputDelimiter
Prints a separator comment before each JS script


inputDelimiter

public String inputDelimiter
The string to use as the separator for printInputDelimiter


errorFormat

public ErrorFormat errorFormat

sourceMapOutputPath

public String sourceMapOutputPath
The output path for the source map.


sourceMapDetailLevel

public SourceMap.DetailLevel sourceMapDetailLevel
The detail level for the generated source map.


sourceMapFormat

public SourceMap.Format sourceMapFormat
The source map file format


sourceMapLocationMappings

public List<SourceMap.LocationMapping> sourceMapLocationMappings

instrumentForCoverage

public boolean instrumentForCoverage
Instrument code for the purpose of collecting coverage data.


UNIQUE_ID_GENERATOR

public static final RenamingMap UNIQUE_ID_GENERATOR
A renaming map instance to use to signal the use of the "inconsistent" id generator type.

Constructor Detail

CompilerOptions

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

Method Detail

setAggressiveVarCheck

public void setAggressiveVarCheck(CheckLevel level)
Checks for suspicious variable definitions and undefined variables


setTightenTypes

public void setTightenTypes(boolean tighten)
Tightens types based on a global analysis. Experimental.


setReportMissingOverride

public void setReportMissingOverride(CheckLevel level)
Flags a warning if a property is missing the @override annotation, but it overrides a base class property.


setCheckRequires

public void setCheckRequires(CheckLevel level)

setCheckProvides

public void setCheckProvides(CheckLevel level)
Checks for missing goog.provides() calls


setCheckGlobalNamesLevel

public void setCheckGlobalNamesLevel(CheckLevel level)
Checks the integrity of references to qualified global names. (e.g. "a.b")


setBrokenClosureRequiresLevel

public void setBrokenClosureRequiresLevel(CheckLevel level)
Sets the check level for bad Closure require calls.


setCheckGlobalThisLevel

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


setCheckMissingGetCssNameLevel

public void setCheckMissingGetCssNameLevel(CheckLevel level)
Checks that certain string literals only appear in strings used as goog.getCssName arguments.


setCheckCaja

public void setCheckCaja(boolean check)

setCheckEventfulObjectDisposalPolicy

public void setCheckEventfulObjectDisposalPolicy(CheckEventfulObjectDisposal.DisposalCheckingPolicy policy)

getCheckEventfulObjectDisposalPolicy

public CheckEventfulObjectDisposal.DisposalCheckingPolicy getCheckEventfulObjectDisposalPolicy()

setCheckUnreachableCode

public void setCheckUnreachableCode(CheckLevel level)
Checks for unreachable code


setCheckMissingReturn

public void setCheckMissingReturn(CheckLevel level)
Checks for missing return statements


setAliasableGlobals

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


setUnaliasableGlobals

public void setUnaliasableGlobals(String names)
A comma separated white-list of global names. When aliasExternals is enable, these global names will not be aliased.


setCollapseObjectLiterals

public void setCollapseObjectLiterals(boolean enabled)

setSpecializeInitialModule

public void setSpecializeInitialModule(boolean enabled)
Specialize the initial module at the cost of later modules


setReplaceMessagesWithChromeI18n

public void setReplaceMessagesWithChromeI18n(boolean replaceMessagesWithChromeI18n,
                                             String tcProjectId)

setIgnoreCajaProperties

public void setIgnoreCajaProperties(boolean enabled)
Add code to skip properties that Caja adds to Object.prototype


setAppNameStr

public void setAppNameStr(String appNameStr)
App identifier string for use by the instrumentation template's app_name_setter. @see #instrumentationTemplate


setPreferSingleQuotes

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


setTrustedStrings

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


setReportPath

public void setReportPath(String reportPath)
Where to save a report of global name usage


getTracerMode

public CompilerOptions.TracerMode getTracerMode()

setTracerMode

public void setTracerMode(CompilerOptions.TracerMode mode)

setNameReferenceReportPath

public void setNameReferenceReportPath(String filePath)
Where to save a cross-reference report from the name reference graph


setNameReferenceGraphPath

public void setNameReferenceGraphPath(String filePath)
Where to save the name reference graph


setProtectHiddenSideEffects

public void setProtectHiddenSideEffects(boolean enable)
When enabled, assume that apparently side-effect free code is meaningful.


isRemoveUnusedClassProperties

public boolean isRemoveUnusedClassProperties()
Returns:
Whether to attempt to remove unused class properties

setRemoveUnusedClassProperties

public void setRemoveUnusedClassProperties(boolean removeUnusedClassProperties)
Parameters:
removeUnusedClassProperties - Whether to attempt to remove unused class properties

getDefineReplacements

public Map<String,Node> getDefineReplacements()
Returns the map of define replacements.


getTweakReplacements

public Map<String,Node> getTweakReplacements()
Returns the map of tweak replacements.


setDefineToBooleanLiteral

public void setDefineToBooleanLiteral(String defineName,
                                      boolean value)
Sets the value of the @define variable in JS to a boolean literal.


setDefineToStringLiteral

public void setDefineToStringLiteral(String defineName,
                                     String value)
Sets the value of the @define variable in JS to a String literal.


setDefineToNumberLiteral

public void setDefineToNumberLiteral(String defineName,
                                     int value)
Sets the value of the @define variable in JS to a number literal.


setDefineToDoubleLiteral

public void setDefineToDoubleLiteral(String defineName,
                                     double value)
Sets the value of the @define variable in JS to a number literal.


setTweakToBooleanLiteral

public void setTweakToBooleanLiteral(String tweakId,
                                     boolean value)
Sets the value of the tweak in JS to a boolean literal.


setTweakToStringLiteral

public void setTweakToStringLiteral(String tweakId,
                                    String value)
Sets the value of the tweak in JS to a String literal.


setTweakToNumberLiteral

public void setTweakToNumberLiteral(String tweakId,
                                    int value)
Sets the value of the tweak in JS to a number literal.


setTweakToDoubleLiteral

public void setTweakToDoubleLiteral(String tweakId,
                                    double value)
Sets the value of the tweak in JS to a number literal.


skipAllCompilerPasses

public void skipAllCompilerPasses()
Skip all possible passes, to make the compiler as fast as possible.


setWarningLevel

public void setWarningLevel(DiagnosticGroup type,
                            CheckLevel level)
Configure the given type of warning to the given level.


resetWarningsGuard

public void resetWarningsGuard()
Reset the warnings guard.


addWarningsGuard

public void addWarningsGuard(WarningsGuard guard)
Add a guard to the set of warnings guards.


setRenamingPolicy

public void setRenamingPolicy(VariableRenamingPolicy newVariablePolicy,
                              PropertyRenamingPolicy newPropertyPolicy)
Sets the variable and property renaming policies for the compiler, in a way that clears warnings about the renaming policy being uninitialized from flags.


setPropertyAffinity

public void setPropertyAffinity(boolean useAffinity)

setShadowVariables

public void setShadowVariables(boolean shadow)
Should shadow outer scope variable name during renaming.


setCollapsePropertiesOnExternTypes

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


setProcessObjectPropertyString

public void setProcessObjectPropertyString(boolean process)
If true, process goog.testing.ObjectPropertyString instances.


setReplaceIdGenerators

public void setReplaceIdGenerators(boolean replaceIdGenerators)
Parameters:
replaceIdGenerators - the replaceIdGenerators to set

setIdGenerators

public void setIdGenerators(Set<String> idGenerators)
Sets the id generators to replace.


setIdGenerators

public void setIdGenerators(Map<String,RenamingMap> idGenerators)
Sets the id generators to replace.


setIdGeneratorsMap

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


setInlineFunctions

public void setInlineFunctions(CompilerOptions.Reach reach)
Set the function inlining policy for the compiler.


setInlineVariables

public void setInlineVariables(CompilerOptions.Reach reach)
Set the variable inlining policy for the compiler.


setInlineProperties

public void setInlineProperties(boolean enable)
Set the function inlining policy for the compiler.


setRemoveUnusedVariable

@Deprecated
public void setRemoveUnusedVariable(CompilerOptions.Reach reach)
Deprecated. 

Set the variable removal policy for the compiler.


setRemoveUnusedVariables

public void setRemoveUnusedVariables(CompilerOptions.Reach reach)
Set the variable removal policy for the compiler.


setReplaceStringsConfiguration

public void setReplaceStringsConfiguration(String placeholderToken,
                                           List<String> functionDescriptors)
Sets the functions whose debug strings to replace.


setRewriteNewDateGoogNow

@Deprecated
public void setRewriteNewDateGoogNow(boolean rewrite)
Deprecated. 


setRemoveAbstractMethods

public void setRemoveAbstractMethods(boolean remove)

setRemoveClosureAsserts

public void setRemoveClosureAsserts(boolean remove)

setNameAnonymousFunctionsOnly

public void setNameAnonymousFunctionsOnly(boolean value)
If true, name anonymous functions only. All other passes will be skipped.


setColorizeErrorOutput

public void setColorizeErrorOutput(boolean colorizeErrorOutput)

shouldColorizeErrorOutput

public boolean shouldColorizeErrorOutput()

setChainCalls

public void setChainCalls(boolean value)
If true, chain calls to functions that return this.


setAcceptConstKeyword

public void setAcceptConstKeyword(boolean value)
If true, accept `const' keyword.


enableRuntimeTypeCheck

public void enableRuntimeTypeCheck(String logFunction)
Enable run-time type checking, which adds JS type assertions for debugging.

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

disableRuntimeTypeCheck

public void disableRuntimeTypeCheck()

setGenerateExports

public void setGenerateExports(boolean generateExports)

setExportLocalPropertyDefinitions

public void setExportLocalPropertyDefinitions(boolean export)

setAngularPass

public void setAngularPass(boolean angularPass)

setCodingConvention

public void setCodingConvention(CodingConvention codingConvention)

getCodingConvention

public CodingConvention getCodingConvention()

setDependencyOptions

public void setDependencyOptions(DependencyOptions options)
Sets dependency options. See the DependencyOptions class for more info. This supersedes manageClosureDependencies.


setManageClosureDependencies

public void setManageClosureDependencies(boolean newVal)
Sort inputs by their goog.provide/goog.require calls, and prune inputs whose symbols are not required.


setManageClosureDependencies

public void setManageClosureDependencies(List<String> entryPoints)
Sort inputs by their goog.provide/goog.require calls.

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

setSummaryDetailLevel

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


enableExternExports

@Deprecated
public void enableExternExports(boolean enabled)
Deprecated. replaced by setExternExports(boolean)


setExtraAnnotationNames

public void setExtraAnnotationNames(Iterable<String> extraAnnotationNames)

isExternExportsEnabled

public boolean isExternExportsEnabled()

setOutputCharset

public void setOutputCharset(String charsetName)
Sets the output charset by name.


setTweakProcessing

public void setTweakProcessing(CompilerOptions.TweakProcessing tweakProcessing)
Sets how goog.tweak calls are processed.


getTweakProcessing

public CompilerOptions.TweakProcessing getTweakProcessing()

setLanguageIn

public void setLanguageIn(CompilerOptions.LanguageMode languageIn)
Sets how goog.tweak calls are processed.


getLanguageIn

public CompilerOptions.LanguageMode getLanguageIn()

getLanguageOut

public CompilerOptions.LanguageMode getLanguageOut()

setLooseTypes

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


clone

public Object clone()
             throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException

setAliasTransformationHandler

public void setAliasTransformationHandler(CompilerOptions.AliasTransformationHandler changes)

getAliasTransformationHandler

public CompilerOptions.AliasTransformationHandler getAliasTransformationHandler()

setErrorHandler

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


setInferTypes

public void setInferTypes(boolean enable)
If true, enables type inference. If checkTypes is enabled, this flag has no effect.


getInferTypes

public boolean getInferTypes()
Gets the inferTypes flag. Note that if checkTypes is enabled, this flag is ignored when configuring the compiler.


assumeStrictThis

public boolean assumeStrictThis()
Returns:
Whether assumeStrictThis is set.

setAssumeStrictThis

public void setAssumeStrictThis(boolean enable)
If true, enables enables additional optimizations.


assumeClosuresOnlyCaptureReferences

public boolean assumeClosuresOnlyCaptureReferences()
Returns:
Whether assumeClosuresOnlyCaptureReferences is set.

setAssumeClosuresOnlyCaptureReferences

public void setAssumeClosuresOnlyCaptureReferences(boolean enable)
Whether to assume closures capture only what they reference. This allows more aggressive function inlining.


setPropertyInvalidationErrors

public void setPropertyInvalidationErrors(Map<String,CheckLevel> propertyInvalidationErrors)
Sets the list of properties that we report property invalidation errors for.


setLanguageOut

public void setLanguageOut(CompilerOptions.LanguageMode languageOut)

setIdeMode

public void setIdeMode(boolean ideMode)

setSaveDataStructures

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


setSkipAllPasses

public void setSkipAllPasses(boolean skipAllPasses)

setDevMode

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

setCheckDeterminism

public void setCheckDeterminism(boolean checkDeterminism)

getCheckDeterminism

public boolean getCheckDeterminism()

setMessageBundle

public void setMessageBundle(MessageBundle messageBundle)

setCheckSymbols

public void setCheckSymbols(boolean checkSymbols)

setCheckSuspiciousCode

public void setCheckSuspiciousCode(boolean checkSuspiciousCode)

setCheckControlStructures

public void setCheckControlStructures(boolean checkControlStructures)

setCheckTypes

public void setCheckTypes(boolean checkTypes)

setCheckMissingGetCssNameBlacklist

public void setCheckMissingGetCssNameBlacklist(String blackList)

setAggressiveRenaming

public void setAggressiveRenaming(boolean aggressive)

setAlternateRenaming

public void setAlternateRenaming(boolean altnerate)

setFoldConstants

public void setFoldConstants(boolean foldConstants)

setDeadAssignmentElimination

public void setDeadAssignmentElimination(boolean deadAssignmentElimination)

setInlineConstantVars

public void setInlineConstantVars(boolean inlineConstantVars)

setInlineFunctions

public void setInlineFunctions(boolean inlineFunctions)

setInlineLocalFunctions

public void setInlineLocalFunctions(boolean inlineLocalFunctions)

setCrossModuleCodeMotion

public void setCrossModuleCodeMotion(boolean crossModuleCodeMotion)

setCoalesceVariableNames

public void setCoalesceVariableNames(boolean coalesceVariableNames)

setCrossModuleMethodMotion

public void setCrossModuleMethodMotion(boolean crossModuleMethodMotion)

setInlineGetters

public void setInlineGetters(boolean inlineGetters)

setInlineVariables

public void setInlineVariables(boolean inlineVariables)

setInlineLocalVariables

public void setInlineLocalVariables(boolean inlineLocalVariables)

setFlowSensitiveInlineVariables

public void setFlowSensitiveInlineVariables(boolean enabled)

setSmartNameRemoval

public void setSmartNameRemoval(boolean smartNameRemoval)

setRemoveDeadCode

public void setRemoveDeadCode(boolean removeDeadCode)

setExtractPrototypeMemberDeclarations

public void setExtractPrototypeMemberDeclarations(boolean enabled)

setRemoveUnusedPrototypeProperties

public void setRemoveUnusedPrototypeProperties(boolean enabled)

setRemoveUnusedPrototypePropertiesInExterns

public void setRemoveUnusedPrototypePropertiesInExterns(boolean enabled)

setRemoveUnusedVars

public void setRemoveUnusedVars(boolean removeUnusedVars)

setRemoveUnusedLocalVars

public void setRemoveUnusedLocalVars(boolean removeUnusedLocalVars)

setAliasExternals

public void setAliasExternals(boolean aliasExternals)

setCollapseVariableDeclarations

public void setCollapseVariableDeclarations(boolean enabled)

setGroupVariableDeclarations

public void setGroupVariableDeclarations(boolean enabled)

setCollapseAnonymousFunctions

public void setCollapseAnonymousFunctions(boolean enabled)

setAliasableStrings

public void setAliasableStrings(Set<String> aliasableStrings)

setAliasStringsBlacklist

public void setAliasStringsBlacklist(String aliasStringsBlacklist)

setAliasAllStrings

public void setAliasAllStrings(boolean aliasAllStrings)

setOutputJsStringUsage

public void setOutputJsStringUsage(boolean outputJsStringUsage)

setConvertToDottedProperties

public void setConvertToDottedProperties(boolean convertToDottedProperties)

setRewriteFunctionExpressions

public void setRewriteFunctionExpressions(boolean rewriteFunctionExpressions)

setOptimizeParameters

public void setOptimizeParameters(boolean optimizeParameters)

setOptimizeReturns

public void setOptimizeReturns(boolean optimizeReturns)

setOptimizeCalls

public void setOptimizeCalls(boolean optimizeCalls)

setOptimizeArgumentsArray

public void setOptimizeArgumentsArray(boolean optimizeArgumentsArray)

setVariableRenaming

public void setVariableRenaming(VariableRenamingPolicy variableRenaming)

setPropertyRenaming

public void setPropertyRenaming(PropertyRenamingPolicy propertyRenaming)

setLabelRenaming

public void setLabelRenaming(boolean labelRenaming)

setReserveRawExports

public void setReserveRawExports(boolean reserveRawExports)

setGeneratePseudoNames

public void setGeneratePseudoNames(boolean generatePseudoNames)

setRenamePrefix

public void setRenamePrefix(String renamePrefix)

setRenamePrefixNamespace

public void setRenamePrefixNamespace(String renamePrefixNamespace)

setAliasKeywords

public void setAliasKeywords(boolean aliasKeywords)

setCollapseProperties

public void setCollapseProperties(boolean collapseProperties)

setDevirtualizePrototypeMethods

public void setDevirtualizePrototypeMethods(boolean devirtualizePrototypeMethods)

setComputeFunctionSideEffects

public void setComputeFunctionSideEffects(boolean computeFunctionSideEffects)

setDebugFunctionSideEffectsPath

public void setDebugFunctionSideEffectsPath(String debugFunctionSideEffectsPath)

isDisambiguatePrivateProperties

public boolean isDisambiguatePrivateProperties()
Returns:
Whether disambiguate private properties is enabled.

setDisambiguatePrivateProperties

public void setDisambiguatePrivateProperties(boolean value)
Parameters:
value - Whether to enable private property disambiguation based on the coding convention.

setDisambiguateProperties

public void setDisambiguateProperties(boolean disambiguateProperties)

setAmbiguateProperties

public void setAmbiguateProperties(boolean ambiguateProperties)

setAnonymousFunctionNaming

public void setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy anonymousFunctionNaming)

setInputAnonymousFunctionNamingMap

public void setInputAnonymousFunctionNamingMap(VariableMap inputMap)

setInputVariableMapSerialized

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

Throws:
ParseException

setInputVariableMap

public void setInputVariableMap(VariableMap inputVariableMap)

setInputPropertyMapSerialized

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

Throws:
ParseException

setInputPropertyMap

public void setInputPropertyMap(VariableMap inputPropertyMap)

setExportTestFunctions

public void setExportTestFunctions(boolean exportTestFunctions)

setRuntimeTypeCheck

public void setRuntimeTypeCheck(boolean runtimeTypeCheck)

setRuntimeTypeCheckLogFunction

public void setRuntimeTypeCheckLogFunction(String runtimeTypeCheckLogFunction)

setSyntheticBlockStartMarker

public void setSyntheticBlockStartMarker(String syntheticBlockStartMarker)

setSyntheticBlockEndMarker

public void setSyntheticBlockEndMarker(String syntheticBlockEndMarker)

setLocale

public void setLocale(String locale)

setMarkAsCompiled

public void setMarkAsCompiled(boolean markAsCompiled)

setRemoveTryCatchFinally

public void setRemoveTryCatchFinally(boolean removeTryCatchFinally)

setClosurePass

public void setClosurePass(boolean closurePass)

setGatherCssNames

public void setGatherCssNames(boolean gatherCssNames)

setStripTypes

public void setStripTypes(Set<String> stripTypes)

setStripNameSuffixes

public void setStripNameSuffixes(Set<String> stripNameSuffixes)

setStripNamePrefixes

public void setStripNamePrefixes(Set<String> stripNamePrefixes)

setStripTypePrefixes

public void setStripTypePrefixes(Set<String> stripTypePrefixes)

setCustomPasses

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

setMarkNoSideEffectCalls

public void setMarkNoSideEffectCalls(boolean markNoSideEffectCalls)

setDefineReplacements

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

setTweakReplacements

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

setMoveFunctionDeclarations

public void setMoveFunctionDeclarations(boolean moveFunctionDeclarations)

setInstrumentationTemplate

public void setInstrumentationTemplate(String instrumentationTemplate)

setRecordFunctionInformation

public void setRecordFunctionInformation(boolean recordFunctionInformation)

setCssRenamingMap

public void setCssRenamingMap(CssRenamingMap cssRenamingMap)

setCssRenamingWhitelist

public void setCssRenamingWhitelist(Set<String> whitelist)

setReplaceStringsFunctionDescriptions

public void setReplaceStringsFunctionDescriptions(List<String> replaceStringsFunctionDescriptions)

setReplaceStringsPlaceholderToken

public void setReplaceStringsPlaceholderToken(String replaceStringsPlaceholderToken)

setReplaceStringsReservedStrings

public void setReplaceStringsReservedStrings(Set<String> replaceStringsReservedStrings)

setReplaceStringsInputMap

public void setReplaceStringsInputMap(VariableMap serializedMap)

setPrettyPrint

public void setPrettyPrint(boolean prettyPrint)

setLineBreak

public void setLineBreak(boolean lineBreak)

setPreferLineBreakAtEndOfFile

public void setPreferLineBreakAtEndOfFile(boolean lineBreakAtEnd)

setPrintInputDelimiter

public void setPrintInputDelimiter(boolean printInputDelimiter)

setInputDelimiter

public void setInputDelimiter(String inputDelimiter)

setTracer

public void setTracer(CompilerOptions.TracerMode tracer)

setErrorFormat

public void setErrorFormat(ErrorFormat errorFormat)

setWarningsGuard

public void setWarningsGuard(ComposeWarningsGuard warningsGuard)

setLineLengthThreshold

public void setLineLengthThreshold(int lineLengthThreshold)

setExternExports

public void setExternExports(boolean externExports)

setExternExportsPath

public void setExternExportsPath(String externExportsPath)

setSourceMapOutputPath

public void setSourceMapOutputPath(String sourceMapOutputPath)

setSourceMapDetailLevel

public void setSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel)

setSourceMapFormat

public void setSourceMapFormat(SourceMap.Format sourceMapFormat)

setSourceMapLocationMappings

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

setTransformAMDToCJSModules

public void setTransformAMDToCJSModules(boolean transformAMDToCJSModules)
Activates transformation of AMD to CommonJS modules.


setProcessCommonJSModules

public void setProcessCommonJSModules(boolean processCommonJSModules)
Rewrites CommonJS modules so that modules can be concatenated together, by renaming all globals to avoid conflicting with other modules.


setCommonJSModulePathPrefix

public void setCommonJSModulePathPrefix(String commonJSModulePathPrefix)
Sets a path prefix for CommonJS modules.


getInstrumentMemoryAllocations

public boolean getInstrumentMemoryAllocations()
Returns:
Whether memory allocations are instrumented.

setInstrumentMemoryAllocations

public void setInstrumentMemoryAllocations(boolean instrumentMemoryAllocations)
Sets the option to instrument memory allocations.


setInstrumentForCoverage

public void setInstrumentForCoverage(boolean instrumentForCoverage)
Set whether or not code should be modified to provide coverage information.