abstract class MethodCompilerPass extends java.lang.Object implements CompilerPass
Modifier and Type | Class and Description |
---|---|
private class |
MethodCompilerPass.GatherSignatures
Gather signatures from the source to be compiled.
|
private class |
MethodCompilerPass.GetExternMethods
Gathers methods from the externs file.
|
(package private) static interface |
MethodCompilerPass.SignatureStore
The signature storage is provided by the implementing class.
|
Modifier and Type | Field and Description |
---|---|
(package private) AbstractCompiler |
compiler |
(package private) java.util.Set<java.lang.String> |
externMethods
List of methods defined in externs
|
(package private) java.util.Set<java.lang.String> |
externMethodsWithoutSignatures
List of extern methods without signatures that we can't warn about
|
(package private) com.google.common.collect.Multimap<java.lang.String,Node> |
methodDefinitions |
(package private) java.util.Set<java.lang.String> |
nonMethodProperties
List of property names that may not be methods
|
Constructor and Description |
---|
MethodCompilerPass(AbstractCompiler compiler) |
Modifier and Type | Method and Description |
---|---|
private void |
addPossibleSignature(java.lang.String name,
Node node,
NodeTraversal t)
Adds a node that may represent a function signature (if it's a function
itself or the name of a function).
|
private void |
addSignature(java.lang.String name,
Node function,
java.lang.String fnSourceName) |
(package private) abstract NodeTraversal.Callback |
getActingCallback()
Subclasses should return a callback that does the actual work they
want to perform given the computed list of method signatures
|
(package private) abstract MethodCompilerPass.SignatureStore |
getSignatureStore()
Subclasses should return a SignatureStore for storing discovered
signatures.
|
void |
process(Node externs,
Node root)
Process the JS with root node root.
|
final java.util.Set<java.lang.String> externMethods
final java.util.Set<java.lang.String> externMethodsWithoutSignatures
final java.util.Set<java.lang.String> nonMethodProperties
final com.google.common.collect.Multimap<java.lang.String,Node> methodDefinitions
final AbstractCompiler compiler
MethodCompilerPass(AbstractCompiler compiler)
public void process(Node externs, Node root)
CompilerPass
process
in interface CompilerPass
externs
- Top of external JS treeroot
- Top of JS treeabstract NodeTraversal.Callback getActingCallback()
abstract MethodCompilerPass.SignatureStore getSignatureStore()
private void addPossibleSignature(java.lang.String name, Node node, NodeTraversal t)
private void addSignature(java.lang.String name, Node function, java.lang.String fnSourceName)