Package | Description |
---|---|
com.google.javascript.jscomp |
Provides the core compiler and its public API.
|
Modifier and Type | Class and Description |
---|---|
static class |
PassFactory.HotSwapPassFactory
A pass-factory that is good for
HotSwapCompilerPass passes. |
Modifier and Type | Field and Description |
---|---|
private PassFactory |
DefaultPassConfig.aliasStrings
Alias string literals with global variables, to avoid creating lots of
transient objects.
|
private PassFactory |
DefaultPassConfig.ambiguateProperties
Renames properties so that the two properties that never appear on
the same object get the same name.
|
private PassFactory |
DefaultPassConfig.chainCalls
Chain calls to functions that return this.
|
private PassFactory |
DefaultPassConfig.checkConformance |
private PassFactory |
DefaultPassConfig.checkConstParams
Checks that the arguments are constants
|
private PassFactory |
DefaultPassConfig.checkConsts
Checks that all constants are not modified
|
private PassFactory |
DefaultPassConfig.checkEventfulObjectDisposal
Check memory bloat patterns
|
private PassFactory |
DefaultPassConfig.checkGlobalNames
Checks global name usage.
|
private PassFactory |
DefaultPassConfig.checkRegExp
Checks for RegExp references.
|
private PassFactory |
LintPassConfig.checkRequires |
private PassFactory |
LintPassConfig.checkRequiresAndProvidesSorted |
private PassFactory |
DefaultPassConfig.checkStrictMode
Checks that the code is ES5 strict compliant.
|
private PassFactory |
DefaultPassConfig.clearTypedScopePass
Clears the typed scope when we're done.
|
private PassFactory |
DefaultPassConfig.closureCheckGetCssName
Checks that CSS class names are wrapped in goog.getCssName
|
private PassFactory |
DefaultPassConfig.closureCodeRemoval
Remove variables set to goog.abstractMethod.
|
private PassFactory |
LintPassConfig.closureGoogScopeAliases |
private PassFactory |
DefaultPassConfig.closureOptimizePrimitives
Special case optimizations for closure functions.
|
private PassFactory |
DefaultPassConfig.closureReplaceGetCssName
Processes goog.getCssName.
|
private PassFactory |
LintPassConfig.closureRewriteClass |
private PassFactory |
LintPassConfig.closureRewriteModule |
private PassFactory |
DefaultPassConfig.coalesceVariableNames
Uses register-allocation algorithms to use fewer variables.
|
private PassFactory |
DefaultPassConfig.collapseAnonymousFunctions
Collapses functions to not use the VAR keyword.
|
private PassFactory |
DefaultPassConfig.collapseObjectLiterals
Rewrite properties as variables.
|
private PassFactory |
DefaultPassConfig.collapseProperties
Collapses names in the global scope.
|
private PassFactory |
DefaultPassConfig.collapseVariableDeclarations
Some simple, local collapses (e.g.,
var x; var y; becomes
var x,y; . |
private PassFactory |
DefaultPassConfig.computeFunctionNames
Computes the names of functions for later analysis.
|
private PassFactory |
DefaultPassConfig.convertStaticInheritance |
private PassFactory |
DefaultPassConfig.convertToDottedProperties
Convert bracket access to dot access
|
private PassFactory |
DefaultPassConfig.convertToTypedES6 |
private PassFactory |
DefaultPassConfig.createSyntheticBlocks
Creates synthetic blocks to prevent FoldConstants from moving code
past markers in the source.
|
private PassFactory |
DefaultPassConfig.crossModuleCodeMotion
Move global symbols to a deeper common module
|
private PassFactory |
DefaultPassConfig.crossModuleMethodMotion
Move methods to a deeper common module
|
private PassFactory |
DefaultPassConfig.deadAssignmentsElimination
Kills dead assignments.
|
private PassFactory |
DefaultPassConfig.declaredGlobalExternsOnWindow
Applies aliases and inlines goog.scope.
|
private PassFactory |
DefaultPassConfig.denormalize
Denormalize the AST for code generation.
|
private PassFactory |
DefaultPassConfig.devirtualizePrototypeMethods
Rewrite instance methods as static methods, to make them easier
to inline.
|
private PassFactory |
DefaultPassConfig.disambiguatePrivateProperties
Disambiguate property names based on the coding convention.
|
private PassFactory |
DefaultPassConfig.disambiguateProperties
Disambiguate property names based on type information.
|
private PassFactory |
DefaultPassConfig.earlyInlineVariables |
private PassFactory |
DefaultPassConfig.earlyPeepholeOptimizations |
private PassFactory |
DefaultPassConfig.es6ExternsCheck |
private PassFactory |
DefaultPassConfig.es6RuntimeLibrary |
private PassFactory |
DefaultPassConfig.exploitAssign
Some simple, local collapses (e.g.,
var x; var y; becomes
var x,y; . |
private PassFactory |
DefaultPassConfig.exportTestFunctions
Generates exports for functions associated with JsUnit.
|
private PassFactory |
DefaultPassConfig.extractPrototypeMemberDeclarations
Extracts common sub-expressions.
|
private PassFactory |
DefaultPassConfig.extraSmartNamePass
Process smart name processing - removes unused classes and does referencing
starting with minimum set of names.
|
private PassFactory |
PhaseOptimizer.NamedPass.factory |
(package private) PassFactory |
CleanupPasses.fieldCleanupPassFactory |
private PassFactory |
DefaultPassConfig.flowSensitiveInlineVariables
A data-flow based variable inliner.
|
(package private) PassFactory |
DefaultPassConfig.garbageCollectChecks
Release references to data that is only needed during checks.
|
private PassFactory |
DefaultPassConfig.gatherExternProperties
Extern property names gathering pass.
|
private PassFactory |
DefaultPassConfig.gatherRawExports
Raw exports processing pass.
|
private PassFactory |
DefaultPassConfig.generateExports
Generates exports for @export annotations.
|
(package private) PassFactory |
CleanupPasses.globalVarRefCleanupPassFactory |
private PassFactory |
DefaultPassConfig.inferConsts
Infers constants.
|
private PassFactory |
DefaultPassConfig.initNameAnalyzeReport |
private PassFactory |
DefaultPassConfig.inlineConstants
Inlines variables that are marked as constants.
|
private PassFactory |
DefaultPassConfig.inlineFunctions
Inlines function calls.
|
private PassFactory |
DefaultPassConfig.inlineProperties
Inlines constant properties.
|
private PassFactory |
DefaultPassConfig.inlineSimpleMethods
Inlines simple methods, like getters
|
private PassFactory |
DefaultPassConfig.inlineTypeAliases |
private PassFactory |
DefaultPassConfig.inlineVariables
Inlines variables heuristically.
|
private PassFactory |
DefaultPassConfig.instrumentForCodeCoverage |
private PassFactory |
DefaultPassConfig.instrumentFunctions
Adds instrumentations according to an instrumentation template.
|
private PassFactory |
DefaultPassConfig.invertContextualRenaming
Inverting name normalization.
|
private PassFactory |
DefaultPassConfig.j2clPass
Rewrites J2CL constructs to be more optimizable.
|
private PassFactory |
DefaultPassConfig.j2clPropertyInlinerPass
Rewrites J2CL constructs to be more optimizable.
|
private PassFactory |
DefaultPassConfig.jqueryAliases
Expand jQuery Primitives and Aliases pass.
|
private PassFactory |
LintPassConfig.jsdocChecks |
private PassFactory |
DefaultPassConfig.latePeepholeOptimizations
Same as peepholeOptimizations but aggressively merges code together
|
private PassFactory |
LintPassConfig.lintChecks |
private PassFactory |
DefaultPassConfig.markNoSideEffectCalls
Look for function calls that have no side effects, and annotate them
that way.
|
private PassFactory |
DefaultPassConfig.markPureFunctions
Look for function calls that are pure, and annotate them
that way.
|
private PassFactory |
DefaultPassConfig.markTranspilationDone |
private PassFactory |
DefaultPassConfig.markUnnormalized
Mark the point at which the normalized AST assumptions no longer hold.
|
private PassFactory |
DefaultPassConfig.minimizeExitPoints
Perform local control flow optimizations.
|
private PassFactory |
DefaultPassConfig.moveFunctionDeclarations
Moves function declarations to the top, to simulate actual hoisting.
|
private PassFactory |
DefaultPassConfig.nameMappedAnonymousFunctions |
private PassFactory |
DefaultPassConfig.nameUnmappedAnonymousFunctions |
private PassFactory |
DefaultPassConfig.newTypeInference |
private PassFactory |
DefaultPassConfig.objectLitAssignmentShortening |
private PassFactory |
DefaultPassConfig.objectPropertyStringPostprocess
Handling for the ObjectPropertyString primitive.
|
private PassFactory |
DefaultPassConfig.objectPropertyStringPreprocess
Pre-process goog.testing.ObjectPropertyString.
|
private PassFactory |
DefaultPassConfig.optimizeArgumentsArray
Optimizes the "arguments" array.
|
private PassFactory |
DefaultPassConfig.optimizeCalls
Optimizes unused function arguments, unused return values, and inlines
constant parameters.
|
private PassFactory |
DefaultPassConfig.optimizeToEs6
Optimizations that output ES6 features.
|
private PassFactory |
DefaultPassConfig.peepholeOptimizations
Various peephole optimizations.
|
private PassFactory |
DefaultPassConfig.printNameReferenceGraph |
private PassFactory |
DefaultPassConfig.printNameReferenceReport |
private PassFactory |
DefaultPassConfig.processDefines
Override @define-annotated constants.
|
private PassFactory |
DefaultPassConfig.processTweaks
Process goog.tweak.getTweak() calls.
|
private PassFactory |
DefaultPassConfig.removeUnreachableCode
Use data flow analysis to remove dead branches.
|
private PassFactory |
DefaultPassConfig.removeUnusedClassProperties
Remove prototype properties that do not appear to be used.
|
private PassFactory |
DefaultPassConfig.removeUnusedPrototypeProperties
Remove prototype properties that do not appear to be used.
|
private PassFactory |
DefaultPassConfig.renameLabels
Renames labels
|
private PassFactory |
DefaultPassConfig.renameProperties
Renames properties.
|
private PassFactory |
DefaultPassConfig.renameVars
Renames variables.
|
private PassFactory |
DefaultPassConfig.replaceIdGenerators
Generates unique ids.
|
private PassFactory |
DefaultPassConfig.replaceMessages
The default i18n pass.
|
private PassFactory |
DefaultPassConfig.replaceMessagesForChrome |
private PassFactory |
DefaultPassConfig.replaceStrings
Replace strings.
|
private PassFactory |
DefaultPassConfig.rescopeGlobalSymbols
Puts global symbols into a single object.
|
private PassFactory |
DefaultPassConfig.rewriteBindThis |
private PassFactory |
DefaultPassConfig.rewriteFunctionExpressions
Rewrites common function definitions to be more compact.
|
private PassFactory |
DefaultPassConfig.runtimeTypeCheck
Inserts run-time type assertions for debugging.
|
private PassFactory |
PhaseOptimizer.sanityCheck |
private PassFactory |
Compiler.sanityCheck |
private PassFactory |
DefaultPassConfig.sanityCheckAst
Checks that all variables are defined.
|
private PassFactory |
DefaultPassConfig.sanityCheckVars
Checks that all variables are defined.
|
(package private) PassFactory |
CleanupPasses.scopeCleanupPassFactory |
private PassFactory |
DefaultPassConfig.smartNamePass |
private PassFactory |
DefaultPassConfig.smartNamePass2 |
private PassFactory |
DefaultPassConfig.stripSideEffectProtection
Removes the "protector" functions that were added by CheckSideEffects.
|
private PassFactory |
DefaultPassConfig.symbolTableForNewTypeInference |
Modifier and Type | Method and Description |
---|---|
static PassFactory |
PassFactory.createEmptyPass(java.lang.String name)
Create a no-op pass that can only run once.
|
private PassFactory |
DefaultPassConfig.getCustomPasses(CustomPassExecutionTime executionTime)
Runs custom passes that are designated to run at a particular time.
|
private PassFactory |
DefaultPassConfig.getRemoveUnusedVars(java.lang.String name,
boolean modifyCallSites) |
Modifier and Type | Method and Description |
---|---|
protected abstract java.util.List<PassFactory> |
PassConfig.getChecks()
Gets the checking passes to run.
|
protected java.util.List<PassFactory> |
PassConfig.PassConfigDelegate.getChecks() |
protected java.util.List<PassFactory> |
CleanupPasses.getChecks() |
protected java.util.List<PassFactory> |
DefaultPassConfig.getChecks() |
protected java.util.List<PassFactory> |
LintPassConfig.getChecks() |
private java.util.List<PassFactory> |
DefaultPassConfig.getCodeRemovingPasses()
Creates several passes aimed at removing code.
|
private java.util.List<PassFactory> |
DefaultPassConfig.getMainOptimizationLoop()
Creates the passes for the main optimization loop.
|
protected abstract java.util.List<PassFactory> |
PassConfig.getOptimizations()
Gets the optimization passes to run.
|
protected java.util.List<PassFactory> |
PassConfig.PassConfigDelegate.getOptimizations() |
protected java.util.List<PassFactory> |
CleanupPasses.getOptimizations() |
protected java.util.List<PassFactory> |
DefaultPassConfig.getOptimizations() |
protected java.util.List<PassFactory> |
LintPassConfig.getOptimizations() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
PhaseOptimizer.Loop.addLoopedPass(PassFactory factory) |
(package private) void |
PhaseOptimizer.addOneTimePass(PassFactory factory)
Add the pass generated by the given factory to the compile sequence.
|
(package private) static void |
PassConfig.addPassFactoryBefore(java.util.List<PassFactory> factoryList,
PassFactory factory,
java.lang.String passName)
Insert the given pass factory before the factory of the given name.
|
(package private) static void |
PassConfig.replacePassFactory(java.util.List<PassFactory> factoryList,
PassFactory factory)
Find a pass factory with the same name as the given one, and replace it.
|
private void |
Compiler.runHotSwapPass(Node originalRoot,
Node js,
PassFactory passFactory) |
(package private) void |
PhaseOptimizer.setSanityCheck(PassFactory sanityCheck)
Adds a sanity checker to be run after every pass.
|
Modifier and Type | Method and Description |
---|---|
static void |
TranspilationPasses.addEs6EarlyPasses(java.util.List<PassFactory> passes)
Adds all the early ES6 transpilation passes, which go before the Dart pass.
|
static void |
TranspilationPasses.addEs6LatePasses(java.util.List<PassFactory> passes)
Adds all the late ES6 transpilation passes, which go after the Dart pass.
|
(package private) static void |
PassConfig.addPassFactoryBefore(java.util.List<PassFactory> factoryList,
PassFactory factory,
java.lang.String passName)
Insert the given pass factory before the factory of the given name.
|
private static void |
DefaultPassConfig.assertAllLoopablePasses(java.util.List<PassFactory> passes)
Verify that all the passes are multi-run passes.
|
private static void |
DefaultPassConfig.assertAllOneTimePasses(java.util.List<PassFactory> passes)
Verify that all the passes are one-time passes.
|
private void |
DefaultPassConfig.assertValidOrder(java.util.List<PassFactory> checks)
Certain checks need to run in a particular order.
|
(package private) void |
PhaseOptimizer.consume(java.util.List<PassFactory> factories)
Add the passes generated by the given factories to the compile sequence.
|
private static int |
PassConfig.findPassIndexByName(java.util.List<PassFactory> factoryList,
java.lang.String name)
Throws an exception if no pass with the given name exists.
|
(package private) static void |
PassConfig.replacePassFactory(java.util.List<PassFactory> factoryList,
PassFactory factory)
Find a pass factory with the same name as the given one, and replace it.
|
Constructor and Description |
---|
NamedPass(PassFactory factory) |