Package com.google.javascript.jscomp
Class CompilerOptions
- java.lang.Object
-
- com.google.javascript.jscomp.CompilerOptions
-
- All Implemented Interfaces:
java.io.Serializable
public class CompilerOptions extends java.lang.Object implements java.io.SerializableCompiler options- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceCompilerOptions.AliasTransformationA Role Specific Interface for the JS Compiler to report aliases used to change the code during a compile.static interfaceCompilerOptions.AliasTransformationHandlerA 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 classCompilerOptions.DevModeWhen to do the extra validity checksstatic classCompilerOptions.EnvironmentAn environment specifies the built-in externs that are loaded for a given compilation.static classCompilerOptions.Es6ModuleTranspilationHow ES6 modules should be transformed.static classCompilerOptions.ExtractPrototypeMemberDeclarationsModestatic classCompilerOptions.IncrementalCheckModestatic classCompilerOptions.InstrumentOptionAn option to determine what level of code instrumentation is performed, if anystatic classCompilerOptions.IsolationModeWhat kind of isolation is going to be usedstatic classCompilerOptions.J2clPassModeA mode enum used to indicate whether J2clPass should be enabled, disabled, or enabled automatically if there is any J2cl source file (i.e.static classCompilerOptions.LanguageModeA language mode applies to the whole compilation job.static classCompilerOptions.OutputJsWhat type of JS file should be output by this compilationstatic classCompilerOptions.PropertyCollapseLevelstatic classCompilerOptions.ReachA common enum for compiler passes that can run either globally or locally.static classCompilerOptions.TracerModeHow much tracing we want to dostatic classCompilerOptions.TweakProcessingOption for the ProcessTweaks pass
-
Field Summary
Fields Modifier and Type Field Description java.util.Set<java.lang.String>aliasableStringsIf 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.booleanaliasAllStringsAliases all string literals to global instances, to avoid creating more objects than necessary (if true, overrides any set of strings passed in to aliasableStrings)java.lang.StringaliasStringsBlacklistA blacklist in the form of a regular expression to block strings that contains certain words from being aliased.CheckLevelbrokenClosureRequiresLevelDeprecated.CheckLevelcheckGlobalNamesLevelbooleancheckSuspiciousCodeChecks for suspicious statements that have no effectbooleancheckSymbolsChecks that all symbols are definedbooleancheckTypesChecks types on expressionsbooleanclosurePassProcesses goog.provide() and goog.require() callsbooleancoalesceVariableNamesMerge two variables together as one.booleancollapseAnonymousFunctionsCollapses anonymous function declarations into named function declarationsbooleancollapseVariableDeclarationsCollapses multiple variable declarations into onebooleancomputeFunctionSideEffectsUse @nosideeffects annotations, function bodies and name graph to determine if calls have side effects.booleanconvertToDottedPropertiesConverts quoted property accesses to dot syntax (a['b'] → a.b)CssRenamingMapcssRenamingMapMap used in the renaming of CSS class names.protected com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass>customPassesCustom passesbooleandeadAssignmentEliminationRemove assignments to values that can not be referencedbooleandevirtualizeMethodsDevirtualize prototype method by rewriting them to be static calls that take the this pointer as their first argumentErrorFormaterrorFormatbooleanexportTestFunctionsWhether to export test functions.booleanflowSensitiveInlineVariablesbooleanfoldConstantsFolds constants (e.g.booleangatherCssNamesGather CSS names (requires closurePass)booleangenerateExportsbooleangeneratePseudoNamesGenerate pseudo names for variables and properties for debugging purposes.booleaninlineConstantVarsInlines constants (symbols that are all CAPS)booleaninlineVariablesInlines variablesjava.lang.StringinputDelimiterThe string to use as the separator for printInputDelimiterbooleanlabelRenamingControls label renaming.booleanlineBreakLine break the output a bit more aggressivelyjava.lang.StringlocaleCompiling localebooleanmarkAsCompiledSets the special "COMPILED" value to trueMessageBundlemessageBundleReturns localized replacement for MSG_* variablesbooleanoptimizeArgumentsArrayProvide formal names for elements of arguments array.booleanoptimizeCallsRemove unused parameters from call sites.booleanpreferLineBreakAtEndOfFilePrefer line breaks at end of filebooleanpreserveTypeAnnotationsDo not strip closure-style type annotations from code.booleanprintInputDelimiterPrints a separator comment before each JS scriptbooleanremoveDeadCodeRemoves code that will never executebooleanremoveUnusedClassPropertiesRemoves unused member propertiesbooleanremoveUnusedLocalVarsRemoves unused variables in local scope.booleanremoveUnusedPrototypePropertiesRemoves unused member prototypesbooleanremoveUnusedVarsRemoves unused variablesjava.lang.StringrenamePrefixSpecifies a prefix for all globalsjava.lang.StringrenamePrefixNamespaceSpecifies the name of an object that will be used to store all non-extern globals.booleanreserveRawExportsReserve property names on the global this object.booleanrewriteFunctionExpressionsReduces the size of common function expressions.booleanrewriteGlobalDeclarationsForTryCatchWrappingMove top-level function declarations to the topbooleansmartNameRemovalRemoves code associated with unused global namesSourceMap.DetailLevelsourceMapDetailLevelThe detail level for the generated source map.SourceMap.FormatsourceMapFormatThe source map file formatjava.util.List<? extends SourceMap.LocationMapping>sourceMapLocationMappingsjava.lang.StringsourceMapOutputPathThe output path for the source map.java.util.Set<java.lang.String>stripNamePrefixesName prefixes that determine which variables and properties to stripjava.util.Set<java.lang.String>stripNameSuffixesName suffixes that determine which variables and properties to stripjava.util.Set<java.lang.String>stripTypePrefixesQualified type name prefixes that determine which types to stripjava.util.Set<java.lang.String>stripTypesNames of types to stripjava.lang.StringsyntheticBlockEndMarkerjava.lang.StringsyntheticBlockStartMarkerVariableRenamingPolicyvariableRenamingControls which variables get renamed.
-
Constructor Summary
Constructors Constructor Description CompilerOptions()Initializes compiler options.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddCustomPass(CustomPassExecutionTime time, CompilerPass customPass)voidaddWarningsGuard(WarningsGuard guard)Add a guard to the set of warnings guards.booleanassumeClosuresOnlyCaptureReferences()booleanassumeStrictThis()voidclearConformanceConfigs()static CompilerOptionsdeserialize(java.io.InputStream objectInputStream)Deserializes compiler options from a stream.voiddisableRuntimeTypeCheck()voidenableRuntimeTypeCheck(java.lang.String logFunction)Enable run-time type checking, which adds JS type assertions for debugging.booleanexpectStrictModeInput()CompilerOptions.AliasTransformationHandlergetAliasTransformationHandler()static com.google.common.collect.ImmutableSet<java.lang.Character>getAngularPropertyReservedFirstChars()booleangetAssumeGettersArePure()booleangetAssumeStaticInheritanceRequired()java.lang.IntegergetBrowserFeaturesetYear()com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String>getBrowserResolverPrefixReplacements()booleangetCheckDeterminism()CodingConventiongetCodingConvention()booleangetCollapseObjectLiterals()com.google.common.collect.ImmutableList<com.google.javascript.jscomp.ConformanceConfig>getConformanceConfigs()com.google.common.base.Optional<java.util.regex.Pattern>getConformanceRemoveRegexFromPath()java.nio.file.PathgetDebugLogDirectory()java.util.Map<java.lang.String,Node>getDefineReplacements()Returns the map of define replacements.DependencyOptionsgetDependencyOptions()CompilerOptions.EnvironmentgetEnvironment()ErrorFormatgetErrorFormat()CompilerOptions.Es6ModuleTranspilationgetEs6ModuleTranspilation()booleangetInferTypes()Gets the inferTypes flag.CompilerOptions.ReachgetInlineFunctionsLevel()Get the function inlining policy for the compiler.booleangetInstrumentForCoverageOnly()CompilerOptions.InstrumentOptiongetInstrumentForCoverageOption()booleangetIsolatePolyfills()CompilerOptions.LanguageModegetLanguageIn()intgetLineLengthThreshold()ModuleLoader.ResolutionModegetModuleResolutionMode()FeatureSetgetOutputFeatureSet()Gets the set of features that can appear in the output.java.util.List<java.lang.String>getPackageJsonEntryNames()ModuleLoader.PathEscapergetPathEscaper()booleangetPreferLineBreakAtEndOfFile()booleangetProcessCommonJSModules()java.lang.StringgetProductionInstrumentationArrayName()CompilerOptions.PropertyCollapseLevelgetPropertyCollapseLevel()PropertyRenamingPolicygetPropertyRenaming()char[]getPropertyReservedNamingFirstChars()char[]getPropertyReservedNamingNonFirstChars()java.lang.StringgetRenamePrefixNamespace()booleangetRewritePolyfills()CompilerOptions.TracerModegetTracerMode()CompilerOptions.TweakProcessinggetTweakProcessing()java.util.Map<java.lang.String,Node>getTweakReplacements()Returns the map of tweak replacements.booleangetUseOriginalNamesInOutput()booleanisChromePassEnabled()booleanisExternExportsEnabled()Config.JsDocParsingisParseJsDocDocumentation()Checks JSDoc documentation will be parsed.booleanisPrettyPrint()booleanisRemoveUnusedClassProperties()booleanisTypecheckingEnabled()booleanneedsTranspilationFrom(FeatureSet languageLevel)booleanneedsTranspilationOf(FeatureSet.Feature feature)voidresetWarningsGuard()Reset the warnings guard.voidserialize(java.io.OutputStream objectOutputStream)Serializes compiler options to a stream.voidsetAliasableStrings(java.util.Set<java.lang.String> aliasableStrings)voidsetAliasAllStrings(boolean aliasAllStrings)voidsetAliasStringsBlacklist(java.lang.String aliasStringsBlacklist)voidsetAliasTransformationHandler(CompilerOptions.AliasTransformationHandler changes)voidsetAllowHotswapReplaceScript(boolean allowRecompilation)voidsetAmbiguateProperties(boolean ambiguateProperties)voidsetAngularPass(boolean angularPass)voidsetApplyInputSourceMaps(boolean applyInputSourceMaps)voidsetAssumeClosuresOnlyCaptureReferences(boolean enable)Whether to assume closures capture only what they reference.voidsetAssumeForwardDeclaredForMissingTypes(boolean assumeForwardDeclaredForMissingTypes)Iftrue, considers all missing types to be forward declared (useful for partial compilation).voidsetAssumeGettersArePure(boolean x)voidsetAssumeStaticInheritanceRequired(boolean x)voidsetAssumeStrictThis(boolean enable)If true, enables enables additional optimizations.voidsetBadRewriteModulesBeforeTypecheckingThatWeWantToGetRidOf(boolean b)Whether to enable the bad module rewriting before typechecking that we want to get rid ofvoidsetBrokenClosureRequiresLevel(CheckLevel level)Deprecated.voidsetBrowserFeaturesetYear(java.lang.Integer year)voidsetBrowserResolverPrefixReplacements(com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String> browserResolverPrefixReplacements)voidsetCheckDeterminism(boolean checkDeterminism)voidsetCheckGlobalNamesLevel(CheckLevel level)Checks the integrity of references to qualified global names.voidsetCheckGlobalThisLevel(CheckLevel level)Deprecated.voidsetChecksOnly(boolean checksOnly)voidsetCheckSuspiciousCode(boolean checkSuspiciousCode)voidsetCheckSymbols(boolean checkSymbols)voidsetCheckTypes(boolean checkTypes)voidsetChromePass(boolean chromePass)voidsetChunksToPrintAfterEachPassRegexList(java.util.List<java.lang.String> chunkPathRegexList)voidsetClosurePass(boolean closurePass)voidsetCoalesceVariableNames(boolean coalesceVariableNames)voidsetCodingConvention(CodingConvention codingConvention)voidsetCollapseAnonymousFunctions(boolean enabled)voidsetCollapseObjectLiterals(boolean enabled)voidsetCollapseProperties(boolean fullyCollapse)Deprecated.voidsetCollapsePropertiesLevel(CompilerOptions.PropertyCollapseLevel level)voidsetCollapseVariableDeclarations(boolean enabled)voidsetColorizeErrorOutput(boolean colorizeErrorOutput)voidsetCommonJSModulePathPrefix(java.lang.String commonJSModulePathPrefix)Sets a path prefix for CommonJS modules (maps tosetModuleRoots(List)).voidsetComputeFunctionSideEffects(boolean computeFunctionSideEffects)voidsetConformanceConfig(com.google.javascript.jscomp.ConformanceConfig conformanceConfig)Both enable and configure conformance checks, if non-null.voidsetConformanceConfigs(java.util.List<com.google.javascript.jscomp.ConformanceConfig> configs)Both enable and configure conformance checks, if non-null.voidsetConformanceRemoveRegexFromPath(com.google.common.base.Optional<java.util.regex.Pattern> pattern)voidsetContinueAfterErrors(boolean continueAfterErrors)voidsetConvertToDottedProperties(boolean convertToDottedProperties)voidsetCrossChunkCodeMotion(boolean crossChunkCodeMotion)voidsetCrossChunkCodeMotionNoStubMethods(boolean crossChunkCodeMotionNoStubMethods)voidsetCrossChunkMethodMotion(boolean crossChunkMethodMotion)voidsetCssRenamingMap(CssRenamingMap cssRenamingMap)voidsetCssRenamingSkiplist(java.util.Set<java.lang.String> skiplist)voidsetCssRenamingWhitelist(java.util.Set<java.lang.String> skiplist)Deprecated.voidsetDartPass(boolean dartPass)voidsetDeadAssignmentElimination(boolean deadAssignmentElimination)voidsetDebugLogDirectory(java.nio.file.Path dir)voidsetDefineReplacements(java.util.Map<java.lang.String,java.lang.Object> defineReplacements)voidsetDefineToBooleanLiteral(java.lang.String defineName, boolean value)Sets the value of the@definevariable in JS to a boolean literal.voidsetDefineToDoubleLiteral(java.lang.String defineName, double value)Sets the value of the@definevariable in JS to a number literal.voidsetDefineToNumberLiteral(java.lang.String defineName, int value)Sets the value of the@definevariable in JS to a number literal.voidsetDefineToStringLiteral(java.lang.String defineName, java.lang.String value)Sets the value of the@definevariable in JS to a String literal.voidsetDependencyOptions(DependencyOptions dependencyOptions)Sets the dependency management options.voidsetDevirtualizeMethods(boolean devirtualizeMethods)voidsetDevMode(CompilerOptions.DevMode devMode)voidsetDisambiguateProperties(boolean disambiguateProperties)CompilerOptionssetEmitUseStrict(boolean emitUseStrict)voidsetEnableModuleRewriting(boolean enable)Experimental option to disable all Closure and ES module rewritingvoidsetEnvironment(CompilerOptions.Environment environment)Set which set of builtin externs to use.voidsetErrorFormat(ErrorFormat errorFormat)voidsetErrorHandler(ErrorHandler handler)Set a custom handler for warnings and errors.voidsetEs6ModuleTranspilation(CompilerOptions.Es6ModuleTranspilation value)voidsetExportLocalPropertyDefinitions(boolean export)voidsetExportTestFunctions(boolean exportTestFunctions)voidsetExternExports(boolean externExports)voidsetExternExportsPath(java.lang.String externExportsPath)voidsetExtraAnnotationNames(java.lang.Iterable<java.lang.String> extraAnnotationNames)voidsetExtractPrototypeMemberDeclarations(boolean enabled)voidsetExtractPrototypeMemberDeclarations(CompilerOptions.ExtractPrototypeMemberDeclarationsMode mode)voidsetFilesToPrintAfterEachPassRegexList(java.util.List<java.lang.String> filePathRegexList)voidsetFlowSensitiveInlineVariables(boolean enabled)voidsetFoldConstants(boolean foldConstants)voidsetForceLibraryInjection(java.lang.Iterable<java.lang.String> libraries)Sets list of libraries to always inject, even if not needed.voidsetGatherCssNames(boolean gatherCssNames)voidsetGenerateExports(boolean generateExports)voidsetGeneratePseudoNames(boolean generatePseudoNames)voidsetIdGenerators(java.util.Map<java.lang.String,RenamingMap> idGenerators)Sets the id generators to replace.voidsetIdGenerators(java.util.Set<java.lang.String> idGenerators)Sets the id generators to replace.voidsetIdGeneratorsMap(java.lang.String previousMappings)A previous map of ids (serialized to a string by a previous compile).voidsetIncrementalChecks(CompilerOptions.IncrementalCheckMode value)voidsetInferConst(boolean value)voidsetInferTypes(boolean enable)If true, enables type inference.voidsetInlineConstantVars(boolean inlineConstantVars)voidsetInlineFunctions(boolean inlineFunctions)Deprecated.voidsetInlineFunctions(CompilerOptions.Reach reach)Set the function inlining policy for the compiler.voidsetInlineLocalVariables(boolean inlineLocalVariables)voidsetInlineProperties(boolean enable)Set the function inlining policy for the compiler.voidsetInlineVariables(boolean inlineVariables)voidsetInlineVariables(CompilerOptions.Reach reach)Set the variable inlining policy for the compiler.voidsetInputDelimiter(java.lang.String inputDelimiter)voidsetInputPropertyMap(VariableMap inputPropertyMap)voidsetInputSourceMaps(com.google.common.collect.ImmutableMap<java.lang.String,SourceMapInput> inputSourceMaps)Sets the input sourcemap files, indexed by the JS files they refer to.voidsetInputVariableMap(VariableMap inputVariableMap)voidsetInstrumentForCoverageOnly(boolean instrumentForCoverageOnly)voidsetInstrumentForCoverageOption(CompilerOptions.InstrumentOption instrumentForCoverageOption)voidsetIsolatePolyfills(boolean isolatePolyfills)Sets whether to isolate polyfills from the global scope.voidsetJ2clMinifierEnabled(boolean enabled)voidsetJ2clMinifierPruningManifest(java.lang.String j2clMinifierPruningManifest)voidsetJ2clPass(CompilerOptions.J2clPassMode j2clPassMode)voidsetLabelRenaming(boolean labelRenaming)voidsetLanguage(CompilerOptions.LanguageMode language)Sets ECMAScript version to use.voidsetLanguageIn(CompilerOptions.LanguageMode languageIn)Sets ECMAScript version to use for the input.voidsetLanguageOut(CompilerOptions.LanguageMode languageOut)Sets ECMAScript version to use for the output.voidsetLineBreak(boolean lineBreak)voidsetLineLengthThreshold(int lineLengthThreshold)voidsetLocale(java.lang.String locale)voidsetMarkAsCompiled(boolean markAsCompiled)voidsetMaxFunctionSizeAfterInlining(int funAstSize)voidsetMaxOptimizationLoopIterations(int maxIterations)voidsetMessageBundle(MessageBundle messageBundle)voidsetModuleResolutionMode(ModuleLoader.ResolutionMode moduleResolutionMode)voidsetModuleRoots(java.util.List<java.lang.String> moduleRoots)Sets the module roots.voidsetModulesToPrintAfterEachPassRegexList(java.util.List<java.lang.String> chunkPathRegexList)Deprecated.voidsetMoveFunctionDeclarations(boolean moveFunctionDeclarations)Deprecated.voidsetNameGenerator(NameGenerator nameGenerator)voidsetNewTypeInference(boolean enable)Deprecated.This is a no-op.voidsetNumParallelThreads(int parallelism)Sets the level of parallelism for compilation passes that can exploit multi-threading.voidsetOptimizeArgumentsArray(boolean optimizeArgumentsArray)voidsetOptimizeCalls(boolean optimizeCalls)voidsetOutputCharset(java.nio.charset.Charset charset)Sets the output charset.voidsetOutputFeatureSet(FeatureSet featureSet)Sets the features that allowed to appear in the output.voidsetOutputJs(CompilerOptions.OutputJs outputJs)voidsetOutputJsStringUsage(boolean outputJsStringUsage)voidsetPackageJsonEntryNames(java.util.List<java.lang.String> names)voidsetParentChunkCanSeeSymbolsDeclaredInChildren(boolean parentChunkCanSeeSymbolsDeclaredInChildren)voidsetParseInlineSourceMaps(boolean parseInlineSourceMaps)voidsetParseJsDocDocumentation(Config.JsDocParsing parseJsDocDocumentation)Enables or disables the parsing of JSDoc documentation, and optionally also the preservation of all whitespace and formatting within a JSDoc comment.voidsetPathEscaper(ModuleLoader.PathEscaper pathEscaper)voidsetPolymerExportPolicy(PolymerExportPolicy polymerExportPolicy)voidsetPolymerVersion(java.lang.Integer polymerVersion)voidsetPreferLineBreakAtEndOfFile(boolean lineBreakAtEnd)voidsetPreferSingleQuotes(boolean enabled)Normally, when there are an equal number of single and double quotes in a string, the compiler will use double quotes.voidsetPreferStableNames(boolean preferStableNames)voidsetPreserveClosurePrimitives(boolean preserveClosurePrimitives)Preserve closure primitives.voidsetPreserveDetailedSourceInfo(boolean preserveDetailedSourceInfo)voidsetPreserveNonJSDocComments(boolean preserveNonJSDocComments)voidsetPreserveTypeAnnotations(boolean preserveTypeAnnotations)voidsetPrettyPrint(boolean prettyPrint)voidsetPreventLibraryInjection(boolean preventLibraryInjection)Sets the set of libraries to never inject, even if required.voidsetPrintConfig(boolean printConfig)Should the compiler print its configuration options to stderr when they are initialized?voidsetPrintInputDelimiter(boolean printInputDelimiter)voidsetPrintSourceAfterEachPass(boolean printSource)voidsetProcessCommonJSModules(boolean processCommonJSModules)Rewrites CommonJS modules so that modules can be concatenated together, by renaming all globals to avoid conflicting with other modules.voidsetProductionInstrumentationArrayName(java.lang.String productionInstrumentationArrayName)Sets the name for the global array which is used by PRODUCTION instrumentation.voidsetPropertyInvalidationErrors(java.util.Map<java.lang.String,CheckLevel> propertyInvalidationErrors)Sets the list of properties that we report property invalidation errors for.voidsetPropertyRenaming(PropertyRenamingPolicy propertyRenaming)voidsetProtectHiddenSideEffects(boolean enable)When enabled, assume that apparently side-effect free code is meaningful.voidsetQuoteKeywordProperties(boolean quoteKeywordProperties)voidsetRemoveAbstractMethods(boolean remove)voidsetRemoveClosureAsserts(boolean remove)voidsetRemoveDeadCode(boolean removeDeadCode)voidsetRemoveJ2clAsserts(boolean remove)voidsetRemoveUnusedClassProperties(boolean removeUnusedClassProperties)voidsetRemoveUnusedPrototypeProperties(boolean enabled)voidsetRemoveUnusedVariables(CompilerOptions.Reach reach)Set the variable removal policy for the compiler.voidsetRenamePrefix(java.lang.String renamePrefix)voidsetRenamePrefixNamespace(java.lang.String renamePrefixNamespace)voidsetRenamePrefixNamespaceAssumeCrossChunkNames(boolean assume)Useful for tests to avoid having to declare two chunksvoidsetRenamingPolicy(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.voidsetReplaceIdGenerators(boolean replaceIdGenerators)voidsetReplaceMessagesWithChromeI18n(boolean replaceMessagesWithChromeI18n, java.lang.String tcProjectId)voidsetReplaceStringsConfiguration(java.lang.String placeholderToken, java.util.List<java.lang.String> functionDescriptors)Sets the functions whose debug strings to replace.voidsetReplaceStringsFunctionDescriptions(java.util.List<java.lang.String> replaceStringsFunctionDescriptions)voidsetReplaceStringsInputMap(VariableMap serializedMap)voidsetReplaceStringsPlaceholderToken(java.lang.String replaceStringsPlaceholderToken)voidsetReplaceStringsReservedStrings(java.util.Set<java.lang.String> replaceStringsReservedStrings)voidsetReserveRawExports(boolean reserveRawExports)voidsetResolveSourceMapAnnotations(boolean resolveSourceMapAnnotations)voidsetRewriteFunctionExpressions(boolean rewriteFunctionExpressions)voidsetRewriteGlobalDeclarationsForTryCatchWrapping(boolean rewrite)voidsetRewritePolyfills(boolean rewritePolyfills)Sets whether to rewrite polyfills.voidsetRuntimeTypeCheck(boolean runtimeTypeCheck)voidsetRuntimeTypeCheckLogFunction(java.lang.String runtimeTypeCheckLogFunction)voidsetShouldUnsafelyPreserveTypesForDebugging(boolean preserveTypes)Skips the RemoveTypes pass so that JSTypes may be viewed on the AST post-compilation.voidsetSkipNonTranspilationPasses(boolean skipNonTranspilationPasses)Skip all passes (other than transpilation, if requested).voidsetSkipTranspilationAndCrash(boolean value)Deprecated.voidsetSmartNameRemoval(boolean smartNameRemoval)voidsetSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel)voidsetSourceMapFormat(SourceMap.Format sourceMapFormat)voidsetSourceMapIncludeSourcesContent(boolean sourceMapIncludeSourcesContent)voidsetSourceMapLocationMappings(java.util.List<? extends SourceMap.LocationMapping> sourceMapLocationMappings)voidsetSourceMapOutputPath(java.lang.String sourceMapOutputPath)CompilerOptionssetStrictModeInput(boolean isStrictModeInput)voidsetStripNamePrefixes(java.util.Set<java.lang.String> stripNamePrefixes)voidsetStripNameSuffixes(java.util.Set<java.lang.String> stripNameSuffixes)voidsetStripTypePrefixes(java.util.Set<java.lang.String> stripTypePrefixes)voidsetStripTypes(java.util.Set<java.lang.String> stripTypes)voidsetSummaryDetailLevel(int summaryDetailLevel)Controls how detailed the compilation summary is.voidsetSyntheticBlockEndMarker(java.lang.String syntheticBlockEndMarker)voidsetSyntheticBlockStartMarker(java.lang.String syntheticBlockStartMarker)voidsetTracerMode(CompilerOptions.TracerMode mode)voidsetTracerOutput(java.nio.file.Path out)voidsetTransformAMDToCJSModules(boolean transformAMDToCJSModules)Activates transformation of AMD to CommonJS modules.voidsetTrustedStrings(boolean yes)Some people want to put arbitrary user input into strings, which are then run through the compiler.voidsetTweakProcessing(CompilerOptions.TweakProcessing tweakProcessing)Sets how goog.tweak calls are processed.voidsetTweakReplacements(java.util.Map<java.lang.String,java.lang.Object> tweakReplacements)voidsetTweakToBooleanLiteral(java.lang.String tweakId, boolean value)Sets the value of the tweak in JS to a boolean literal.voidsetTweakToDoubleLiteral(java.lang.String tweakId, double value)Sets the value of the tweak in JS to a number literal.voidsetTweakToNumberLiteral(java.lang.String tweakId, int value)Sets the value of the tweak in JS to a number literal.voidsetTweakToStringLiteral(java.lang.String tweakId, java.lang.String value)Sets the value of the tweak in JS to a String literal.voidsetUseGraphBasedDisambiguator(boolean x)voidsetUseOriginalNamesInOutput(boolean useOriginalNamesInOutput)voidsetUseSizeHeuristicToStopOptimizationLoop(boolean mayStopEarly)voidsetUseTypesForLocalOptimization(boolean useTypesForLocalOptimization)voidsetUseTypesForOptimization(boolean useTypesForOptimization)Deprecated.voidsetVariableRenaming(VariableRenamingPolicy variableRenaming)voidsetWarningLevel(DiagnosticGroup type, CheckLevel level)Configure the given type of warning to the given level.voidsetWarningsGuard(ComposeWarningsGuard warningsGuard)voidsetWrapGoogModulesForWhitespaceOnly(boolean enable)voidsetXidHashFunction(Xid.HashFunction xidHashFunction)Sets the hash function to use for XidbooleanshouldAmbiguateProperties()booleanshouldCollapseProperties()Deprecated.use getPropertyCollapseLevelbooleanshouldColorizeErrorOutput()booleanshouldDisambiguateProperties()booleanshouldEmitUseStrict()Whether the output should contain a 'use strict' directive.booleanshouldExportLocalPropertyDefinitions()booleanshouldGenerateTypedExterns()booleanshouldInlineProperties()booleanshouldPreserveGoogLibraryPrimitives()Do not process goog.booleanshouldPreserveGoogModule()booleanshouldPreservesGoogProvidesAndRequires()booleanshouldProtectHiddenSideEffects()Whether or not the compiler should wrap apparently side-effect free code to prevent it from being removedbooleanshouldQuoteKeywordProperties()booleanshouldRunCrossChunkCodeMotion()booleanshouldRunCrossChunkMethodMotion()booleanshouldRunTypeSummaryChecksLate()booleanshouldUnsafelyPreserveTypesForDebugging()booleanshouldUseGraphBasedDisambiguator()booleanshouldUseTypesForLocalOptimization()voidskipAllCompilerPasses()Skip all possible passes, to make the compiler as fast as possible.java.lang.StringtoString()voidvalidateBrowserFeaturesetYearOption(java.lang.Integer inputYear)Validates whether browser featureset year option is legal
-
-
-
Field Detail
-
messageBundle
public MessageBundle messageBundle
Returns localized replacement for MSG_* variables
-
checkSymbols
public boolean checkSymbols
Checks that all symbols are defined
-
checkSuspiciousCode
public boolean checkSuspiciousCode
Checks for suspicious statements that have no effect
-
checkTypes
public boolean checkTypes
Checks types on expressions
-
checkGlobalNamesLevel
public CheckLevel checkGlobalNamesLevel
-
brokenClosureRequiresLevel
@Deprecated public CheckLevel brokenClosureRequiresLevel
Deprecated.
-
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)
-
coalesceVariableNames
public boolean coalesceVariableNames
Merge two variables together as one.
-
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
-
removeUnusedPrototypeProperties
public boolean removeUnusedPrototypeProperties
Removes unused member prototypes
-
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.
-
collapseVariableDeclarations
public boolean collapseVariableDeclarations
Collapses multiple variable declarations into one
-
collapseAnonymousFunctions
public boolean collapseAnonymousFunctions
Collapses anonymous function declarations into named function declarations
-
aliasableStrings
public 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.
-
aliasStringsBlacklist
public java.lang.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.
-
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.
-
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 java.lang.String renamePrefix
Specifies a prefix for all globals
-
renamePrefixNamespace
public java.lang.String renamePrefixNamespace
Specifies the name of an object that will be used to store all non-extern globals.
-
devirtualizeMethods
public boolean devirtualizeMethods
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.
-
exportTestFunctions
public boolean exportTestFunctions
Whether to export test functions.
-
syntheticBlockStartMarker
@Nullable public java.lang.String syntheticBlockStartMarker
-
syntheticBlockEndMarker
@Nullable public java.lang.String syntheticBlockEndMarker
-
locale
public java.lang.String locale
Compiling locale
-
markAsCompiled
public boolean markAsCompiled
Sets the special "COMPILED" value to true
-
closurePass
public boolean closurePass
Processes goog.provide() and goog.require() calls
-
gatherCssNames
public boolean gatherCssNames
Gather CSS names (requires closurePass)
-
stripTypes
public java.util.Set<java.lang.String> stripTypes
Names of types to strip
-
stripNameSuffixes
public java.util.Set<java.lang.String> stripNameSuffixes
Name suffixes that determine which variables and properties to strip
-
stripNamePrefixes
public java.util.Set<java.lang.String> stripNamePrefixes
Name prefixes that determine which variables and properties to strip
-
stripTypePrefixes
public java.util.Set<java.lang.String> stripTypePrefixes
Qualified type name prefixes that determine which types to strip
-
customPasses
protected transient com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> customPasses
Custom passes
-
rewriteGlobalDeclarationsForTryCatchWrapping
public boolean rewriteGlobalDeclarationsForTryCatchWrapping
Move top-level function declarations to the top
-
generateExports
public boolean generateExports
-
cssRenamingMap
public CssRenamingMap cssRenamingMap
Map used in the renaming of CSS class names.
-
preserveTypeAnnotations
public boolean preserveTypeAnnotations
Do not strip closure-style type annotations from code.
-
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 java.lang.String inputDelimiter
The string to use as the separator for printInputDelimiter
-
errorFormat
public ErrorFormat errorFormat
-
sourceMapOutputPath
public java.lang.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 java.util.List<? extends SourceMap.LocationMapping> sourceMapLocationMappings
-
-
Method Detail
-
getAngularPropertyReservedFirstChars
public static com.google.common.collect.ImmutableSet<java.lang.Character> getAngularPropertyReservedFirstChars()
-
shouldRunCrossChunkCodeMotion
public boolean shouldRunCrossChunkCodeMotion()
-
shouldRunCrossChunkMethodMotion
public boolean shouldRunCrossChunkMethodMotion()
-
getBrowserFeaturesetYear
public java.lang.Integer getBrowserFeaturesetYear()
-
validateBrowserFeaturesetYearOption
public void validateBrowserFeaturesetYearOption(java.lang.Integer inputYear)
Validates whether browser featureset year option is legal- Parameters:
inputYear- Integer value passed as input
-
setBrowserFeaturesetYear
public void setBrowserFeaturesetYear(java.lang.Integer year)
-
setInstrumentForCoverageOnly
public void setInstrumentForCoverageOnly(boolean instrumentForCoverageOnly)
-
getInstrumentForCoverageOnly
public boolean getInstrumentForCoverageOnly()
-
setSkipTranspilationAndCrash
@Deprecated public void setSkipTranspilationAndCrash(boolean value)
Deprecated.
-
setInputSourceMaps
public void setInputSourceMaps(com.google.common.collect.ImmutableMap<java.lang.String,SourceMapInput> inputSourceMaps)
Sets the input sourcemap files, indexed by the JS files they refer to.- Parameters:
inputSourceMaps- the collection of input sourcemap files
-
setInferConst
public void setInferConst(boolean value)
-
setIncrementalChecks
public void setIncrementalChecks(CompilerOptions.IncrementalCheckMode value)
-
shouldGenerateTypedExterns
public boolean shouldGenerateTypedExterns()
-
shouldRunTypeSummaryChecksLate
public boolean shouldRunTypeSummaryChecksLate()
-
setCheckGlobalNamesLevel
public void setCheckGlobalNamesLevel(CheckLevel level)
Checks the integrity of references to qualified global names. (e.g. "a.b")
-
setBrokenClosureRequiresLevel
@Deprecated public void setBrokenClosureRequiresLevel(CheckLevel level)
Deprecated.Sets the check level for bad Closure require calls. Do not use; this should always be an error.
-
setCheckGlobalThisLevel
@Deprecated public void setCheckGlobalThisLevel(CheckLevel level)
Deprecated.Deprecated. Please use setWarningLevel(DiagnosticGroups.GLOBAL_THIS, level) instead.
-
setNumParallelThreads
public void setNumParallelThreads(int parallelism)
Sets the level of parallelism for compilation passes that can exploit multi-threading.Some compiler passes may take advantage of multi-threading, for example, parsing inputs. This sets the level of parallelism. The compiler will not start more than this number of threads.
- Parameters:
parallelism- up to this number of parallel threads may be created.
-
setRenamePrefixNamespaceAssumeCrossChunkNames
public void setRenamePrefixNamespaceAssumeCrossChunkNames(boolean assume)
Useful for tests to avoid having to declare two chunks
-
shouldCollapseProperties
@Deprecated public boolean shouldCollapseProperties()
Deprecated.use getPropertyCollapseLevelFlattens multi-level property names (e.g. a$b = x)
-
getPropertyCollapseLevel
public CompilerOptions.PropertyCollapseLevel getPropertyCollapseLevel()
-
setCollapseObjectLiterals
public void setCollapseObjectLiterals(boolean enabled)
-
getCollapseObjectLiterals
public boolean getCollapseObjectLiterals()
-
setNameGenerator
public void setNameGenerator(NameGenerator nameGenerator)
-
setReplaceMessagesWithChromeI18n
public void setReplaceMessagesWithChromeI18n(boolean replaceMessagesWithChromeI18n, java.lang.String tcProjectId)
-
setAssumeForwardDeclaredForMissingTypes
public void setAssumeForwardDeclaredForMissingTypes(boolean assumeForwardDeclaredForMissingTypes)
Iftrue, considers all missing types to be forward declared (useful for partial compilation).
-
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.
-
setPrintSourceAfterEachPass
public void setPrintSourceAfterEachPass(boolean printSource)
-
setFilesToPrintAfterEachPassRegexList
public void setFilesToPrintAfterEachPassRegexList(java.util.List<java.lang.String> filePathRegexList)
-
setChunksToPrintAfterEachPassRegexList
public void setChunksToPrintAfterEachPassRegexList(java.util.List<java.lang.String> chunkPathRegexList)
-
setModulesToPrintAfterEachPassRegexList
@Deprecated public void setModulesToPrintAfterEachPassRegexList(java.util.List<java.lang.String> chunkPathRegexList)
Deprecated.
-
getTracerMode
public CompilerOptions.TracerMode getTracerMode()
-
setTracerMode
public void setTracerMode(CompilerOptions.TracerMode mode)
-
setTracerOutput
public void setTracerOutput(java.nio.file.Path out)
-
setProtectHiddenSideEffects
public void setProtectHiddenSideEffects(boolean enable)
When enabled, assume that apparently side-effect free code is meaningful.
-
shouldProtectHiddenSideEffects
public boolean shouldProtectHiddenSideEffects()
Whether or not the compiler should wrap apparently side-effect free code to prevent it from being removed
-
setAssumeGettersArePure
public void setAssumeGettersArePure(boolean x)
-
getAssumeGettersArePure
public boolean getAssumeGettersArePure()
-
setAssumeStaticInheritanceRequired
public void setAssumeStaticInheritanceRequired(boolean x)
-
getAssumeStaticInheritanceRequired
public boolean getAssumeStaticInheritanceRequired()
-
setConformanceRemoveRegexFromPath
public void setConformanceRemoveRegexFromPath(com.google.common.base.Optional<java.util.regex.Pattern> pattern)
-
getConformanceRemoveRegexFromPath
public com.google.common.base.Optional<java.util.regex.Pattern> getConformanceRemoveRegexFromPath()
-
setWrapGoogModulesForWhitespaceOnly
public void setWrapGoogModulesForWhitespaceOnly(boolean enable)
-
setBadRewriteModulesBeforeTypecheckingThatWeWantToGetRidOf
public void setBadRewriteModulesBeforeTypecheckingThatWeWantToGetRidOf(boolean b)
Whether to enable the bad module rewriting before typechecking that we want to get rid of
-
setEnableModuleRewriting
public void setEnableModuleRewriting(boolean enable)
Experimental option to disable all Closure and ES module rewritingUse at your own risk - disabling module rewriting is not fully tested yet.
-
setPrintConfig
public void setPrintConfig(boolean printConfig)
Should the compiler print its configuration options to stderr when they are initialized?Default
false.
-
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 java.util.Map<java.lang.String,Node> getDefineReplacements()
Returns the map of define replacements.
-
getTweakReplacements
public java.util.Map<java.lang.String,Node> getTweakReplacements()
Returns the map of tweak replacements.
-
setDefineToBooleanLiteral
public void setDefineToBooleanLiteral(java.lang.String defineName, boolean value)Sets the value of the@definevariable in JS to a boolean literal.
-
setDefineToStringLiteral
public void setDefineToStringLiteral(java.lang.String defineName, java.lang.String value)Sets the value of the@definevariable in JS to a String literal.
-
setDefineToNumberLiteral
public void setDefineToNumberLiteral(java.lang.String defineName, int value)Sets the value of the@definevariable in JS to a number literal.
-
setDefineToDoubleLiteral
public void setDefineToDoubleLiteral(java.lang.String defineName, double value)Sets the value of the@definevariable in JS to a number literal.
-
setTweakToBooleanLiteral
public void setTweakToBooleanLiteral(java.lang.String tweakId, boolean value)Sets the value of the tweak in JS to a boolean literal.
-
setTweakToStringLiteral
public void setTweakToStringLiteral(java.lang.String tweakId, java.lang.String value)Sets the value of the tweak in JS to a String literal.
-
setTweakToNumberLiteral
public void setTweakToNumberLiteral(java.lang.String tweakId, int value)Sets the value of the tweak in JS to a number literal.
-
setTweakToDoubleLiteral
public void setTweakToDoubleLiteral(java.lang.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.
-
setReplaceIdGenerators
public void setReplaceIdGenerators(boolean replaceIdGenerators)
- Parameters:
replaceIdGenerators- the replaceIdGenerators to set
-
setIdGenerators
public void setIdGenerators(java.util.Set<java.lang.String> idGenerators)
Sets the id generators to replace.
-
setIdGenerators
public void setIdGenerators(java.util.Map<java.lang.String,RenamingMap> idGenerators)
Sets the id generators to replace.
-
setIdGeneratorsMap
public void setIdGeneratorsMap(java.lang.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.
-
setXidHashFunction
public void setXidHashFunction(Xid.HashFunction xidHashFunction)
Sets the hash function to use for Xid
-
setInlineFunctions
@Deprecated public void setInlineFunctions(boolean inlineFunctions)
Deprecated.UsesetInlineFunctions(Reach)instead
-
setInlineFunctions
public void setInlineFunctions(CompilerOptions.Reach reach)
Set the function inlining policy for the compiler.
-
getInlineFunctionsLevel
public CompilerOptions.Reach getInlineFunctionsLevel()
Get the function inlining policy for the compiler.
-
setMaxFunctionSizeAfterInlining
public void setMaxFunctionSizeAfterInlining(int funAstSize)
-
setInlineVariables
public void setInlineVariables(boolean inlineVariables)
-
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.
-
shouldInlineProperties
public boolean shouldInlineProperties()
-
setRemoveUnusedVariables
public void setRemoveUnusedVariables(CompilerOptions.Reach reach)
Set the variable removal policy for the compiler.
-
setReplaceStringsConfiguration
public void setReplaceStringsConfiguration(java.lang.String placeholderToken, java.util.List<java.lang.String> functionDescriptors)Sets the functions whose debug strings to replace.
-
setRemoveAbstractMethods
public void setRemoveAbstractMethods(boolean remove)
-
setRemoveClosureAsserts
public void setRemoveClosureAsserts(boolean remove)
-
setRemoveJ2clAsserts
public void setRemoveJ2clAsserts(boolean remove)
-
setColorizeErrorOutput
public void setColorizeErrorOutput(boolean colorizeErrorOutput)
-
shouldColorizeErrorOutput
public boolean shouldColorizeErrorOutput()
-
enableRuntimeTypeCheck
public void enableRuntimeTypeCheck(java.lang.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()
-
setChecksOnly
public void setChecksOnly(boolean checksOnly)
-
setOutputJs
public void setOutputJs(CompilerOptions.OutputJs outputJs)
-
setGenerateExports
public void setGenerateExports(boolean generateExports)
-
setExportLocalPropertyDefinitions
public void setExportLocalPropertyDefinitions(boolean export)
-
shouldExportLocalPropertyDefinitions
public boolean shouldExportLocalPropertyDefinitions()
-
setAngularPass
public void setAngularPass(boolean angularPass)
-
setPolymerVersion
public void setPolymerVersion(java.lang.Integer polymerVersion)
-
setPolymerExportPolicy
public void setPolymerExportPolicy(PolymerExportPolicy polymerExportPolicy)
-
setChromePass
public void setChromePass(boolean chromePass)
-
isChromePassEnabled
public boolean isChromePassEnabled()
-
setDartPass
public void setDartPass(boolean dartPass)
-
setJ2clPass
public void setJ2clPass(CompilerOptions.J2clPassMode j2clPassMode)
-
setJ2clMinifierEnabled
public void setJ2clMinifierEnabled(boolean enabled)
-
setJ2clMinifierPruningManifest
public void setJ2clMinifierPruningManifest(java.lang.String j2clMinifierPruningManifest)
-
setCodingConvention
public void setCodingConvention(CodingConvention codingConvention)
-
getCodingConvention
public CodingConvention getCodingConvention()
-
setDependencyOptions
public void setDependencyOptions(DependencyOptions dependencyOptions)
Sets the dependency management options.
-
getDependencyOptions
public DependencyOptions getDependencyOptions()
-
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
-
setExtraAnnotationNames
public void setExtraAnnotationNames(java.lang.Iterable<java.lang.String> extraAnnotationNames)
-
isExternExportsEnabled
public boolean isExternExportsEnabled()
-
setOutputCharset
public void setOutputCharset(java.nio.charset.Charset charset)
Sets the output charset.
-
setTweakProcessing
public void setTweakProcessing(CompilerOptions.TweakProcessing tweakProcessing)
Sets how goog.tweak calls are processed.
-
getTweakProcessing
public CompilerOptions.TweakProcessing getTweakProcessing()
-
setLanguage
public void setLanguage(CompilerOptions.LanguageMode language)
Sets ECMAScript version to use.
-
setLanguageIn
public void setLanguageIn(CompilerOptions.LanguageMode languageIn)
Sets ECMAScript version to use for the input. If you are not transpiling from one version to another, use #setLanguage instead.
-
getLanguageIn
public CompilerOptions.LanguageMode getLanguageIn()
-
setLanguageOut
public void setLanguageOut(CompilerOptions.LanguageMode languageOut)
Sets ECMAScript version to use for the output.If you are not transpiling from one version to another, use #setLanguage instead.
If you you need something more fine grained (e.g. "ES2017 without modules") use #setOutputFeatureSet.
-
setOutputFeatureSet
public void setOutputFeatureSet(FeatureSet featureSet)
Sets the features that allowed to appear in the output. Any feature in the input that is not in this output must be transpiled away.
-
getOutputFeatureSet
public FeatureSet getOutputFeatureSet()
Gets the set of features that can appear in the output.
-
needsTranspilationFrom
public boolean needsTranspilationFrom(FeatureSet languageLevel)
-
needsTranspilationOf
public boolean needsTranspilationOf(FeatureSet.Feature feature)
-
setEnvironment
public void setEnvironment(CompilerOptions.Environment environment)
Set which set of builtin externs to use.
-
getEnvironment
public CompilerOptions.Environment getEnvironment()
-
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.
-
setNewTypeInference
@Deprecated public void setNewTypeInference(boolean enable)
Deprecated.This is a no-op.
-
isTypecheckingEnabled
public boolean isTypecheckingEnabled()
- Returns:
- true if either typechecker is ON.
-
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(java.util.Map<java.lang.String,CheckLevel> propertyInvalidationErrors)
Sets the list of properties that we report property invalidation errors for.
-
setAllowHotswapReplaceScript
public void setAllowHotswapReplaceScript(boolean allowRecompilation)
-
setPreserveDetailedSourceInfo
public void setPreserveDetailedSourceInfo(boolean preserveDetailedSourceInfo)
-
setPreserveNonJSDocComments
public void setPreserveNonJSDocComments(boolean preserveNonJSDocComments)
-
setContinueAfterErrors
public void setContinueAfterErrors(boolean continueAfterErrors)
-
setParseJsDocDocumentation
public void setParseJsDocDocumentation(Config.JsDocParsing parseJsDocDocumentation)
Enables or disables the parsing of JSDoc documentation, and optionally also the preservation of all whitespace and formatting within a JSDoc comment. By default, whitespace is collapsed for all comments except @license and @preserve blocks,
-
isParseJsDocDocumentation
public Config.JsDocParsing isParseJsDocDocumentation()
Checks JSDoc documentation will be parsed.- Returns:
- True when JSDoc documentation will be parsed, false if not.
-
setSkipNonTranspilationPasses
public void setSkipNonTranspilationPasses(boolean skipNonTranspilationPasses)
Skip all passes (other than transpilation, if requested). Don't inject any runtime libraries (unless explicitly requested) or do any checks/optimizations (this is useful for per-file transpilation).
-
setDevMode
public void setDevMode(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)
-
setCheckTypes
public void setCheckTypes(boolean checkTypes)
-
setShouldUnsafelyPreserveTypesForDebugging
public void setShouldUnsafelyPreserveTypesForDebugging(boolean preserveTypes)
Skips the RemoveTypes pass so that JSTypes may be viewed on the AST post-compilation.Not safe to use in general! optimization behavior is not guaranteed to be correct or even not crash, and this option should eventually be deleted if typechecking is moved to the library level.
-
shouldUnsafelyPreserveTypesForDebugging
public boolean shouldUnsafelyPreserveTypesForDebugging()
-
setFoldConstants
public void setFoldConstants(boolean foldConstants)
-
setDeadAssignmentElimination
public void setDeadAssignmentElimination(boolean deadAssignmentElimination)
-
setInlineConstantVars
public void setInlineConstantVars(boolean inlineConstantVars)
-
setCrossChunkCodeMotion
public void setCrossChunkCodeMotion(boolean crossChunkCodeMotion)
-
setCrossChunkCodeMotionNoStubMethods
public void setCrossChunkCodeMotionNoStubMethods(boolean crossChunkCodeMotionNoStubMethods)
-
setParentChunkCanSeeSymbolsDeclaredInChildren
public void setParentChunkCanSeeSymbolsDeclaredInChildren(boolean parentChunkCanSeeSymbolsDeclaredInChildren)
-
setCrossChunkMethodMotion
public void setCrossChunkMethodMotion(boolean crossChunkMethodMotion)
-
setCoalesceVariableNames
public void setCoalesceVariableNames(boolean coalesceVariableNames)
-
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)
-
setExtractPrototypeMemberDeclarations
public void setExtractPrototypeMemberDeclarations(CompilerOptions.ExtractPrototypeMemberDeclarationsMode mode)
-
setRemoveUnusedPrototypeProperties
public void setRemoveUnusedPrototypeProperties(boolean enabled)
-
setCollapseVariableDeclarations
public void setCollapseVariableDeclarations(boolean enabled)
-
setCollapseAnonymousFunctions
public void setCollapseAnonymousFunctions(boolean enabled)
-
setAliasableStrings
public void setAliasableStrings(java.util.Set<java.lang.String> aliasableStrings)
-
setAliasStringsBlacklist
public void setAliasStringsBlacklist(java.lang.String aliasStringsBlacklist)
-
setAliasAllStrings
public void setAliasAllStrings(boolean aliasAllStrings)
-
setOutputJsStringUsage
public void setOutputJsStringUsage(boolean outputJsStringUsage)
-
setConvertToDottedProperties
public void setConvertToDottedProperties(boolean convertToDottedProperties)
-
setUseTypesForLocalOptimization
public void setUseTypesForLocalOptimization(boolean useTypesForLocalOptimization)
-
shouldUseTypesForLocalOptimization
public boolean shouldUseTypesForLocalOptimization()
-
setUseTypesForOptimization
@Deprecated public void setUseTypesForOptimization(boolean useTypesForOptimization)
Deprecated.
-
setRewriteFunctionExpressions
public void setRewriteFunctionExpressions(boolean rewriteFunctionExpressions)
-
setOptimizeCalls
public void setOptimizeCalls(boolean optimizeCalls)
-
setOptimizeArgumentsArray
public void setOptimizeArgumentsArray(boolean optimizeArgumentsArray)
-
setVariableRenaming
public void setVariableRenaming(VariableRenamingPolicy variableRenaming)
-
setPropertyRenaming
public void setPropertyRenaming(PropertyRenamingPolicy propertyRenaming)
-
getPropertyRenaming
public PropertyRenamingPolicy getPropertyRenaming()
-
setLabelRenaming
public void setLabelRenaming(boolean labelRenaming)
-
setReserveRawExports
public void setReserveRawExports(boolean reserveRawExports)
-
setPreferStableNames
public void setPreferStableNames(boolean preferStableNames)
-
setGeneratePseudoNames
public void setGeneratePseudoNames(boolean generatePseudoNames)
-
setRenamePrefix
public void setRenamePrefix(java.lang.String renamePrefix)
-
getRenamePrefixNamespace
public java.lang.String getRenamePrefixNamespace()
-
setRenamePrefixNamespace
public void setRenamePrefixNamespace(java.lang.String renamePrefixNamespace)
-
setCollapsePropertiesLevel
public void setCollapsePropertiesLevel(CompilerOptions.PropertyCollapseLevel level)
-
setCollapseProperties
@Deprecated public void setCollapseProperties(boolean fullyCollapse)
Deprecated.
-
setDevirtualizeMethods
public void setDevirtualizeMethods(boolean devirtualizeMethods)
-
setComputeFunctionSideEffects
public void setComputeFunctionSideEffects(boolean computeFunctionSideEffects)
-
setDisambiguateProperties
public void setDisambiguateProperties(boolean disambiguateProperties)
-
shouldDisambiguateProperties
public boolean shouldDisambiguateProperties()
-
setUseGraphBasedDisambiguator
public void setUseGraphBasedDisambiguator(boolean x)
-
shouldUseGraphBasedDisambiguator
public boolean shouldUseGraphBasedDisambiguator()
-
setAmbiguateProperties
public void setAmbiguateProperties(boolean ambiguateProperties)
-
shouldAmbiguateProperties
public boolean shouldAmbiguateProperties()
-
setInputVariableMap
public void setInputVariableMap(VariableMap inputVariableMap)
-
setInputPropertyMap
public void setInputPropertyMap(VariableMap inputPropertyMap)
-
setExportTestFunctions
public void setExportTestFunctions(boolean exportTestFunctions)
-
setRuntimeTypeCheck
public void setRuntimeTypeCheck(boolean runtimeTypeCheck)
-
setRuntimeTypeCheckLogFunction
public void setRuntimeTypeCheckLogFunction(java.lang.String runtimeTypeCheckLogFunction)
-
setSyntheticBlockStartMarker
public void setSyntheticBlockStartMarker(java.lang.String syntheticBlockStartMarker)
-
setSyntheticBlockEndMarker
public void setSyntheticBlockEndMarker(java.lang.String syntheticBlockEndMarker)
-
setLocale
public void setLocale(java.lang.String locale)
-
setMarkAsCompiled
public void setMarkAsCompiled(boolean markAsCompiled)
-
setClosurePass
public void setClosurePass(boolean closurePass)
-
setPreserveClosurePrimitives
public void setPreserveClosurePrimitives(boolean preserveClosurePrimitives)
Preserve closure primitives. For now, this only preserves goog.provide(), goog.require() and goog.module() calls.
-
shouldPreservesGoogProvidesAndRequires
public boolean shouldPreservesGoogProvidesAndRequires()
-
shouldPreserveGoogModule
public boolean shouldPreserveGoogModule()
-
shouldPreserveGoogLibraryPrimitives
public boolean shouldPreserveGoogLibraryPrimitives()
Do not process goog. intrinsics, such as goog.getCssName().
-
setPreserveTypeAnnotations
public void setPreserveTypeAnnotations(boolean preserveTypeAnnotations)
-
setGatherCssNames
public void setGatherCssNames(boolean gatherCssNames)
-
setStripTypes
public void setStripTypes(java.util.Set<java.lang.String> stripTypes)
-
setStripNameSuffixes
public void setStripNameSuffixes(java.util.Set<java.lang.String> stripNameSuffixes)
-
setStripNamePrefixes
public void setStripNamePrefixes(java.util.Set<java.lang.String> stripNamePrefixes)
-
setStripTypePrefixes
public void setStripTypePrefixes(java.util.Set<java.lang.String> stripTypePrefixes)
-
addCustomPass
public void addCustomPass(CustomPassExecutionTime time, CompilerPass customPass)
-
setDefineReplacements
public void setDefineReplacements(java.util.Map<java.lang.String,java.lang.Object> defineReplacements)
-
setTweakReplacements
public void setTweakReplacements(java.util.Map<java.lang.String,java.lang.Object> tweakReplacements)
-
setMoveFunctionDeclarations
@Deprecated public void setMoveFunctionDeclarations(boolean moveFunctionDeclarations)
Deprecated.
-
setRewriteGlobalDeclarationsForTryCatchWrapping
public void setRewriteGlobalDeclarationsForTryCatchWrapping(boolean rewrite)
-
setCssRenamingMap
public void setCssRenamingMap(CssRenamingMap cssRenamingMap)
-
setCssRenamingWhitelist
@Deprecated public void setCssRenamingWhitelist(java.util.Set<java.lang.String> skiplist)
Deprecated.
-
setCssRenamingSkiplist
public void setCssRenamingSkiplist(java.util.Set<java.lang.String> skiplist)
-
setReplaceStringsFunctionDescriptions
public void setReplaceStringsFunctionDescriptions(java.util.List<java.lang.String> replaceStringsFunctionDescriptions)
-
setReplaceStringsPlaceholderToken
public void setReplaceStringsPlaceholderToken(java.lang.String replaceStringsPlaceholderToken)
-
setReplaceStringsReservedStrings
public void setReplaceStringsReservedStrings(java.util.Set<java.lang.String> replaceStringsReservedStrings)
-
setReplaceStringsInputMap
public void setReplaceStringsInputMap(VariableMap serializedMap)
-
setPrettyPrint
public void setPrettyPrint(boolean prettyPrint)
-
isPrettyPrint
public boolean isPrettyPrint()
-
setLineBreak
public void setLineBreak(boolean lineBreak)
-
getPreferLineBreakAtEndOfFile
public boolean getPreferLineBreakAtEndOfFile()
-
setPreferLineBreakAtEndOfFile
public void setPreferLineBreakAtEndOfFile(boolean lineBreakAtEnd)
-
setPrintInputDelimiter
public void setPrintInputDelimiter(boolean printInputDelimiter)
-
setInputDelimiter
public void setInputDelimiter(java.lang.String inputDelimiter)
-
setDebugLogDirectory
public void setDebugLogDirectory(@Nullable java.nio.file.Path dir)
-
getDebugLogDirectory
@Nullable public java.nio.file.Path getDebugLogDirectory()
-
setQuoteKeywordProperties
public void setQuoteKeywordProperties(boolean quoteKeywordProperties)
-
shouldQuoteKeywordProperties
public boolean shouldQuoteKeywordProperties()
-
setErrorFormat
public void setErrorFormat(ErrorFormat errorFormat)
-
getErrorFormat
public ErrorFormat getErrorFormat()
-
setWarningsGuard
public void setWarningsGuard(ComposeWarningsGuard warningsGuard)
-
setLineLengthThreshold
public void setLineLengthThreshold(int lineLengthThreshold)
-
getLineLengthThreshold
public int getLineLengthThreshold()
-
setUseOriginalNamesInOutput
public void setUseOriginalNamesInOutput(boolean useOriginalNamesInOutput)
-
getUseOriginalNamesInOutput
public boolean getUseOriginalNamesInOutput()
-
setExternExports
public void setExternExports(boolean externExports)
-
setExternExportsPath
public void setExternExportsPath(java.lang.String externExportsPath)
-
setSourceMapOutputPath
public void setSourceMapOutputPath(java.lang.String sourceMapOutputPath)
-
setApplyInputSourceMaps
public void setApplyInputSourceMaps(boolean applyInputSourceMaps)
-
setResolveSourceMapAnnotations
public void setResolveSourceMapAnnotations(boolean resolveSourceMapAnnotations)
-
setSourceMapIncludeSourcesContent
public void setSourceMapIncludeSourcesContent(boolean sourceMapIncludeSourcesContent)
-
setParseInlineSourceMaps
public void setParseInlineSourceMaps(boolean parseInlineSourceMaps)
-
setSourceMapDetailLevel
public void setSourceMapDetailLevel(SourceMap.DetailLevel sourceMapDetailLevel)
-
setSourceMapFormat
public void setSourceMapFormat(SourceMap.Format sourceMapFormat)
-
setSourceMapLocationMappings
public void setSourceMapLocationMappings(java.util.List<? extends 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.
-
getProcessCommonJSModules
public boolean getProcessCommonJSModules()
-
setEs6ModuleTranspilation
public void setEs6ModuleTranspilation(CompilerOptions.Es6ModuleTranspilation value)
-
getEs6ModuleTranspilation
public CompilerOptions.Es6ModuleTranspilation getEs6ModuleTranspilation()
-
setCommonJSModulePathPrefix
public void setCommonJSModulePathPrefix(java.lang.String commonJSModulePathPrefix)
Sets a path prefix for CommonJS modules (maps tosetModuleRoots(List)).
-
setModuleRoots
public void setModuleRoots(java.util.List<java.lang.String> moduleRoots)
Sets the module roots.
-
setRewritePolyfills
public void setRewritePolyfills(boolean rewritePolyfills)
Sets whether to rewrite polyfills.
-
getRewritePolyfills
public boolean getRewritePolyfills()
-
setIsolatePolyfills
public void setIsolatePolyfills(boolean isolatePolyfills)
Sets whether to isolate polyfills from the global scope.
-
getIsolatePolyfills
public boolean getIsolatePolyfills()
-
setForceLibraryInjection
public void setForceLibraryInjection(java.lang.Iterable<java.lang.String> libraries)
Sets list of libraries to always inject, even if not needed.
-
setPreventLibraryInjection
public void setPreventLibraryInjection(boolean preventLibraryInjection)
Sets the set of libraries to never inject, even if required.
-
setInstrumentForCoverageOption
public void setInstrumentForCoverageOption(CompilerOptions.InstrumentOption instrumentForCoverageOption)
-
getInstrumentForCoverageOption
public CompilerOptions.InstrumentOption getInstrumentForCoverageOption()
-
setProductionInstrumentationArrayName
public void setProductionInstrumentationArrayName(java.lang.String productionInstrumentationArrayName)
Sets the name for the global array which is used by PRODUCTION instrumentation. The array is declared during the instrumentation pass with the name provided through this setter.
-
getProductionInstrumentationArrayName
public java.lang.String getProductionInstrumentationArrayName()
-
getConformanceConfigs
public final com.google.common.collect.ImmutableList<com.google.javascript.jscomp.ConformanceConfig> getConformanceConfigs()
-
setConformanceConfig
@GwtIncompatible("Conformance") public void setConformanceConfig(com.google.javascript.jscomp.ConformanceConfig conformanceConfig)Both enable and configure conformance checks, if non-null.
-
setConformanceConfigs
@GwtIncompatible("Conformance") public void setConformanceConfigs(java.util.List<com.google.javascript.jscomp.ConformanceConfig> configs)Both enable and configure conformance checks, if non-null.
-
clearConformanceConfigs
public void clearConformanceConfigs()
-
shouldEmitUseStrict
public boolean shouldEmitUseStrict()
Whether the output should contain a 'use strict' directive.
-
setEmitUseStrict
public CompilerOptions setEmitUseStrict(boolean emitUseStrict)
-
getModuleResolutionMode
public ModuleLoader.ResolutionMode getModuleResolutionMode()
-
setModuleResolutionMode
public void setModuleResolutionMode(ModuleLoader.ResolutionMode moduleResolutionMode)
-
getBrowserResolverPrefixReplacements
public com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String> getBrowserResolverPrefixReplacements()
-
setBrowserResolverPrefixReplacements
public void setBrowserResolverPrefixReplacements(com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String> browserResolverPrefixReplacements)
-
setPathEscaper
public void setPathEscaper(ModuleLoader.PathEscaper pathEscaper)
-
getPathEscaper
public ModuleLoader.PathEscaper getPathEscaper()
-
getPackageJsonEntryNames
public java.util.List<java.lang.String> getPackageJsonEntryNames()
-
setPackageJsonEntryNames
public void setPackageJsonEntryNames(java.util.List<java.lang.String> names)
-
setUseSizeHeuristicToStopOptimizationLoop
public void setUseSizeHeuristicToStopOptimizationLoop(boolean mayStopEarly)
-
setMaxOptimizationLoopIterations
public void setMaxOptimizationLoopIterations(int maxIterations)
-
serialize
@GwtIncompatible("ObjectOutputStream") public void serialize(java.io.OutputStream objectOutputStream) throws java.io.IOExceptionSerializes compiler options to a stream.- Throws:
java.io.IOException
-
deserialize
@GwtIncompatible("ObjectInputStream") public static CompilerOptions deserialize(java.io.InputStream objectInputStream) throws java.io.IOException, java.lang.ClassNotFoundExceptionDeserializes compiler options from a stream.- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
expectStrictModeInput
public boolean expectStrictModeInput()
-
setStrictModeInput
public CompilerOptions setStrictModeInput(boolean isStrictModeInput)
-
getPropertyReservedNamingFirstChars
public char[] getPropertyReservedNamingFirstChars()
-
getPropertyReservedNamingNonFirstChars
public char[] getPropertyReservedNamingNonFirstChars()
-
-