private class ProcessClosurePrimitives.ProvidedName
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private Node |
candidateDefinition |
private JSModule |
explicitModule |
private Node |
explicitNode |
private JSModule |
firstModule |
private Node |
firstNode |
private JSModule |
minimumModule |
private java.lang.String |
namespace |
private Node |
replacementNode |
Constructor and Description |
---|
ProvidedName(java.lang.String namespace,
Node node,
JSModule module,
boolean explicit) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addDefinition(Node node,
JSModule module)
Record function declaration, variable declaration or assignment that
refers to the same name as the provide statement.
|
(package private) void |
addProvide(Node node,
JSModule module,
boolean explicit)
Add an implicit or explicit provide.
|
private Node |
createDeclarationNode()
Create the declaration node for this name, without inserting it
into the AST.
|
private Node |
createNamespaceLiteral()
There are some special cases where clients of the compiler
do not run TypedScopeCreator after running this pass.
|
private Node |
getProvideStringNode() |
private int |
getSourceInfoOffset(Node provideStringNode)
Get the offset into the provide node where the symbol appears.
|
(package private) boolean |
isExplicitlyProvided() |
private Node |
makeAssignmentExprNode()
Creates a dotted namespace assignment expression
(e.g.
|
private Node |
makeVarDeclNode()
Creates a simple namespace variable declaration
(e.g.
|
(package private) void |
replace()
Replace the provide statement.
|
private void |
setSourceInfo(Node newNode)
Copy source info to the new node.
|
private void |
updateMinimumModule(JSModule newModule) |
private final java.lang.String namespace
private final Node firstNode
private final JSModule firstModule
private Node explicitNode
private JSModule explicitModule
private Node candidateDefinition
private JSModule minimumModule
private Node replacementNode
void addProvide(Node node, JSModule module, boolean explicit)
boolean isExplicitlyProvided()
void addDefinition(Node node, JSModule module)
private void updateMinimumModule(JSModule newModule)
void replace()
private Node createDeclarationNode()
private Node makeVarDeclNode()
var foo = {};
).private Node createNamespaceLiteral()
private Node makeAssignmentExprNode()
foo.bar = {};
).private void setSourceInfo(Node newNode)
private int getSourceInfoOffset(Node provideStringNode)
private Node getProvideStringNode()