org.jetbrains.kotlin.js.backend.ast
Class JsNameRef

java.lang.Object
  extended by HasMetadata
      extended by org.jetbrains.kotlin.js.backend.ast.SourceInfoAwareJsNode
          extended by org.jetbrains.kotlin.js.backend.ast.JsExpression
              extended by org.jetbrains.kotlin.js.backend.ast.JsNameRef
All Implemented Interfaces:
HasName, JsNode, HasSymbol

public final class JsNameRef
extends JsExpression
implements HasName

Represents a JavaScript expression that references a name.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jetbrains.kotlin.js.backend.ast.JsExpression
JsExpression.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()
           
 Symbol getSymbol()
           
 boolean isLeaf()
          Determines whether or not this expression is a leaf, such as a JsNameRef, JsLiteral.JsBooleanLiteral, and so on.
 void resolve(JsName name)
           
 void setName(JsName name)
           
 void setQualifier(JsExpression qualifier)
           
 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 org.jetbrains.kotlin.js.backend.ast.JsExpression
makeStmt, source
 
Methods inherited from class org.jetbrains.kotlin.js.backend.ast.SourceInfoAwareJsNode
getSource, setSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

setName

public void setName(JsName name)
Specified by:
setName 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()
Description copied from class: JsExpression
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.

Overrides:
isLeaf in class 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
Overrides:
acceptChildren in class SourceInfoAwareJsNode

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 JsNode
Specified by:
deepCopy in class JsExpression

toString

public java.lang.String toString()

withMetadataFrom

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