com.google.dart.compiler.backend.js.ast
Class JsNameRef

java.lang.Object
  extended by HasMetadata
      extended by com.google.dart.compiler.backend.js.ast.JsNameRef
All Implemented Interfaces:
HasName, JsExpression, JsNode, HasSymbol

public final class JsNameRef
extends HasMetadata
implements HasName

Represents a JavaScript expression that references a name.


Nested Class Summary
protected static class JsExpressionImpl.JsExpressionHasArguments
           
 
Constructor Summary
JsNameRef(JsName name)
           
JsNameRef(JsName name, JsExpression qualifier)
           
JsNameRef(java.lang.String ident)
           
JsNameRef(java.lang.String ident, JsExpression qualifier)
           
JsNameRef(java.lang.String ident, java.lang.String qualifier)
           
 
Method Summary
 void accept(JsVisitor v)
          Causes this object to have the visitor visit itself and its children.
 void acceptChildren(JsVisitor visitor)
           
 JsNameRef deepCopy()
           
 java.lang.String getIdent()
           
 JsName getName()
           
 JsExpression getQualifier()
           
 java.lang.Object getSource()
          Return the source info associated with this object.
 Symbol getSymbol()
           
 boolean isLeaf()
          Determines whether or not this expression is a leaf, such as a JsNameRef, JsLiteral.JsBooleanLiteral, and so on.
 JsStatement makeStmt()
           
 void resolve(JsName name)
           
 void setQualifier(JsExpression qualifier)
           
 void setSource(java.lang.Object info)
          Set the source info associated with this object.
 JsExpression source(java.lang.Object info)
           
 java.lang.String toString()
           
 void traverse(JsVisitorWithContext v, JsContext ctx)
          Causes this object to have the visitor visit itself and its children.
protected
<T extends HasMetadata>
T
withMetadataFrom(T other)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.google.dart.compiler.backend.js.ast.JsNode
getSource, setSource
 

Constructor Detail

JsNameRef

public JsNameRef(@NotNull
                 JsName name)

JsNameRef

public JsNameRef(@NotNull
                 java.lang.String ident)

JsNameRef

public JsNameRef(@NotNull
                 java.lang.String ident,
                 JsExpression qualifier)

JsNameRef

public JsNameRef(@NotNull
                 java.lang.String ident,
                 @NotNull
                 java.lang.String qualifier)

JsNameRef

public JsNameRef(@NotNull
                 JsName name,
                 JsExpression qualifier)
Method Detail

getIdent

@NotNull
public java.lang.String getIdent()

getName

@Nullable
public JsName getName()
Specified by:
getName in interface HasName

getSymbol

@Nullable
public Symbol getSymbol()
Specified by:
getSymbol in interface HasSymbol
Returns:
Return the original user visible name for a Object represented in a source map.

getQualifier

@Nullable
public JsExpression getQualifier()

isLeaf

public boolean isLeaf()
Determines whether or not this expression is a leaf, such as a JsNameRef, JsLiteral.JsBooleanLiteral, and so on. Leaf expressions never need to be parenthesized.

Specified by:
isLeaf in interface JsExpression

resolve

public void resolve(JsName name)

setQualifier

public void setQualifier(JsExpression qualifier)

accept

public void accept(JsVisitor v)
Description copied from interface: JsNode
Causes this object to have the visitor visit itself and its children.

Specified by:
accept in interface JsNode
Parameters:
v - the visitor that should traverse this node

acceptChildren

public void acceptChildren(JsVisitor visitor)
Specified by:
acceptChildren in interface JsNode

traverse

public void traverse(JsVisitorWithContext v,
                     JsContext ctx)
Description copied from interface: JsNode
Causes this object to have the visitor visit itself and its children.

Specified by:
traverse in interface JsNode
Parameters:
v - the visitor that should traverse this node
ctx - the context of an existing traversal

deepCopy

@NotNull
public JsNameRef deepCopy()
Specified by:
deepCopy in interface JsExpression
Specified by:
deepCopy in interface JsNode

makeStmt

@NotNull
public JsStatement makeStmt()
Specified by:
makeStmt in interface JsExpression

source

public JsExpression source(java.lang.Object info)
Specified by:
source in interface JsExpression
Specified by:
source in interface JsNode

getSource

public java.lang.Object getSource()
Description copied from interface: JsNode
Return the source info associated with this object.


setSource

public void setSource(java.lang.Object info)
Description copied from interface: JsNode
Set the source info associated with this object.


toString

public java.lang.String toString()

withMetadataFrom

protected <T extends HasMetadata> T withMetadataFrom(T other)