public class DefinitionUseSiteFinder extends NameBasedDefinitionProvider
NameBasedDefinitionProvider
, this class additionally collects the use
sites for each definition. It is useful for constructing a full reference graph of the entire
ast.allowComplexFunctionDefs, compiler, definitionNodes, definitionsByName, definitionSitesByDefinitionSiteNode, definitionSitesByScopeNode, hasProcessBeenRun
Constructor and Description |
---|
DefinitionUseSiteFinder(AbstractCompiler compiler) |
Modifier and Type | Method and Description |
---|---|
Collection<com.google.javascript.jscomp.UseSite> |
getUseSites(com.google.javascript.jscomp.DefinitionsRemover.Definition definition)
Returns a collection of use sites that may refer to provided definition.
|
void |
process(Node externs,
Node source)
Process the JS with root node root.
|
void |
rebuildScopeRoots(List<Node> changedScopeRoots,
List<Node> deletedScopeRoots) |
getDefinitionForFunction, getDefinitionSites, getDefinitionsReferencedAt, getSimplifiedName
public DefinitionUseSiteFinder(AbstractCompiler compiler)
public void process(Node externs, Node source)
CompilerPass
process
in interface CompilerPass
process
in class NameBasedDefinitionProvider
externs
- Top of external JS treesource
- Top of JS treepublic Collection<com.google.javascript.jscomp.UseSite> getUseSites(com.google.javascript.jscomp.DefinitionsRemover.Definition definition)
definition
- Definition of interest.public void rebuildScopeRoots(List<Node> changedScopeRoots, List<Node> deletedScopeRoots)
rebuildScopeRoots
in class NameBasedDefinitionProvider
Copyright © 2009-2017 Google. All Rights Reserved.