Package | Description |
---|---|
com.google.javascript.jscomp |
Provides the core compiler and its public API.
|
Modifier and Type | Field and Description |
---|---|
private SimpleDefinitionFinder |
ChainCalls.defFinder |
private SimpleDefinitionFinder |
RemoveUnusedVars.CallSiteOptimizer.defFinder |
private SimpleDefinitionFinder |
MarkNoSideEffectCalls.SetNoSideEffectCallProperty.defFinder |
private SimpleDefinitionFinder |
Compiler.defFinder |
Modifier and Type | Method and Description |
---|---|
(package private) abstract SimpleDefinitionFinder |
AbstractCompiler.getSimpleDefinitionFinder()
Used by three passes that run in sequence (optimize-returns,
optimize-parameters, remove-unused-variables), to avoid having them
recompute it independently.
|
(package private) SimpleDefinitionFinder |
Compiler.getSimpleDefinitionFinder() |
Modifier and Type | Method and Description |
---|---|
private static boolean |
OptimizeReturns.callResultsMaybeUsed(SimpleDefinitionFinder defFinder,
DefinitionSite definitionSite)
Determines if a function result might be used.
|
private static boolean |
OptimizeParameters.canChangeSignature(DefinitionSite definitionSite,
SimpleDefinitionFinder defFinder) |
private Node |
OptimizeParameters.eliminateCallParamAt(SimpleDefinitionFinder defFinder,
OptimizeParameters.Parameter p,
Node call,
int argIndex)
Eliminates the parameter from a function call.
|
private boolean |
DevirtualizePrototypeMethods.isEligibleDefinition(SimpleDefinitionFinder defFinder,
DefinitionSite definitionSite)
Determines if a method definition is eligible for rewrite as a
global function.
|
private void |
OptimizeParameters.optimizeCallSite(SimpleDefinitionFinder defFinder,
java.util.List<OptimizeParameters.Parameter> parameters,
Node call) |
void |
RemoveUnusedVars.process(Node externs,
Node root,
SimpleDefinitionFinder defFinder) |
void |
OptimizeCalls.CallGraphCompilerPass.process(Node externs,
Node root,
SimpleDefinitionFinder definitions) |
void |
OptimizeReturns.process(Node externs,
Node root,
SimpleDefinitionFinder definitions) |
void |
OptimizeParameters.process(Node externs,
Node root,
SimpleDefinitionFinder definitions) |
void |
DevirtualizePrototypeMethods.process(Node externs,
Node root,
SimpleDefinitionFinder definitions) |
private void |
DevirtualizePrototypeMethods.rewriteCallSites(SimpleDefinitionFinder defFinder,
DefinitionsRemover.Definition definition,
java.lang.String newMethodName)
Rewrites object method call sites as calls to global functions
that take "this" as their first argument.
|
private void |
DevirtualizePrototypeMethods.rewriteDefinitionIfEligible(DefinitionSite defSite,
SimpleDefinitionFinder defFinder)
Rewrites method definition and call sites if the method is
defined in the global scope exactly once.
|
private void |
OptimizeReturns.rewriteReturns(SimpleDefinitionFinder defFinder,
Node fnNode)
For the supplied function node, rewrite all the return expressions so that:
return foo();
becomes:
foo(); return;
Useless return will be removed later by the peephole optimization passes.
|
(package private) abstract void |
AbstractCompiler.setSimpleDefinitionFinder(SimpleDefinitionFinder defFinder) |
(package private) void |
Compiler.setSimpleDefinitionFinder(SimpleDefinitionFinder defFinder) |
private void |
OptimizeParameters.tryEliminateConstantArgs(DefinitionSite defSite,
SimpleDefinitionFinder defFinder)
Eliminate parameters if they are always constant.
|
private void |
OptimizeParameters.tryEliminateOptionalArgs(DefinitionSite defSite,
SimpleDefinitionFinder defFinder)
Removes any optional parameters if no callers specifies it as an argument.
|
Constructor and Description |
---|
CallSiteOptimizer(AbstractCompiler compiler,
SimpleDefinitionFinder defFinder) |
SetNoSideEffectCallProperty(SimpleDefinitionFinder defFinder) |