public class LanguageIdentifierNode extends IdentifierNode implements ILanguageIdentifierNode
Modifier and Type | Class and Description |
---|---|
static class |
LanguageIdentifierNode.Context |
ILanguageIdentifierNode.LanguageIdentifierKind
IIdentifierNode.IdentifierType
flags
emptyNodeArray, parent
UNKNOWN
Modifier | Constructor and Description |
---|---|
protected |
LanguageIdentifierNode(LanguageIdentifierNode other)
Copy constructor.
|
Modifier and Type | Method and Description |
---|---|
static LanguageIdentifierNode |
buildAnyType()
Builds a
LanguageIdentifierNode that represents * . |
static LanguageIdentifierNode |
buildAnyType(IASToken anyTypeToken)
Builds a
LanguageIdentifierNode that represents * . |
static LanguageIdentifierNode |
buildRest()
Builds a
LanguageIdentifierNode that represents ... |
static LanguageIdentifierNode |
buildRest(IASToken restToken)
Builds a
LanguageIdentifierNode that represents ... |
static LanguageIdentifierNode |
buildSuper()
Builds a
LanguageIdentifierNode that represents
super . |
static LanguageIdentifierNode |
buildSuper(IASToken superToken)
Builds a
LanguageIdentifierNode that represents
super . |
static LanguageIdentifierNode |
buildThis()
Builds a
LanguageIdentifierNode that represents this . |
static LanguageIdentifierNode |
buildThis(IASToken thisToken)
Builds a
LanguageIdentifierNode that represents this . |
static LanguageIdentifierNode |
buildVoid()
Builds a
LanguageIdentifierNode that represents this . |
static LanguageIdentifierNode |
buildVoid(IASToken voidToken)
Builds a
LanguageIdentifierNode that represents this . |
protected LanguageIdentifierNode |
copy()
Copy the ExpressionNodeBase and its subtree.
|
LanguageIdentifierNode.Context |
getContext()
Helper method to determine in what context this expression is being used
in.
|
ILanguageIdentifierNode.LanguageIdentifierKind |
getKind()
Returns the kind of the identifier that his
LanguageIdentifierNode represents |
Name |
getMName(ICompilerProject project)
Gets the AET
Name object to be used for an expression. |
String |
getName()
Gets the full name of this identifier
|
ASTNodeID |
getNodeID()
Get the opcode of this node
|
IDefinition |
resolve(ICompilerProject project)
If this expression is statically known to refer to a definition return a
reference to that definition.
|
ITypeDefinition |
resolveType(ICompilerProject project)
The type of the result of this expression.
|
analyze, buildInnerString, canEarlyBind, computeNamespaceReference, createEmptyIdentifierNodeAfterToken, fillInOffsets, getIdentifierType, getScopeNode, isAttributeIdentifier, isDynamicExpression, isImplicit, isLegacyCodegen, isMemberRef, isTerminal, isTypeRef, isXMLish, normalize, setReferenceValue
copyForInitializer, getASScope, getBaseExpression, getDecorationNode, getDependencyType, getParentExpression, hasParenthesis, inFilter, inWith, isPackageReference, setHasParenthesis
buildStringRecursive, canContinueContainmentSearch, collectImportNodes, combineAttributes, connectedToProjectScope, contains, endAfter, endAfter, endBefore, endBefore, getAbsoluteEnd, getAbsoluteStart, getAncestorOfType, getChild, getChildCount, getContainingFilePath, getContainingNode, getContainingScope, getEnd, getFileScope, getFileSpecification, getInnerString, getNodeKind, getPackageName, getParent, getSpanningStart, getStart, getSucceedingNode, getWorkspace, isTransparent, looselyContains, replaceChild, runPostProcess, setChildren, setParent, span, span, span, startAfter, startAfter, startBefore, startBefore, swapChildren, toString, tryGetOffsetLookup, verify
getColumn, getEndColumn, getEndLine, getLine, getLineColumnString, getOffsetsString, getSourcePath, getSourcePathString, setColumn, setEnd, setEndColumn, setEndLine, setLine, setSourceLocation, setSourcePath, setStart, span, span
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
copyForInitializer, hasParenthesis
contains, getAncestorOfType, getChild, getChildCount, getContainingNode, getContainingScope, getFileSpecification, getPackageName, getParent, getSpanningStart, getSucceedingNode
getAbsoluteEnd, getAbsoluteStart, getColumn, getEnd, getEndColumn, getEndLine, getLine, getSourcePath, getStart
protected LanguageIdentifierNode(LanguageIdentifierNode other)
other
- the node to copypublic static LanguageIdentifierNode buildSuper(IASToken superToken)
LanguageIdentifierNode
that represents
super
.superToken
- the token to build fromLanguageIdentifierNode
public static LanguageIdentifierNode buildSuper()
LanguageIdentifierNode
that represents
super
.LanguageIdentifierNode
public static LanguageIdentifierNode buildThis(IASToken thisToken)
LanguageIdentifierNode
that represents this
.thisToken
- the token to build fromLanguageIdentifierNode
public static LanguageIdentifierNode buildThis()
LanguageIdentifierNode
that represents this
.LanguageIdentifierNode
public static LanguageIdentifierNode buildVoid(IASToken voidToken)
LanguageIdentifierNode
that represents this
.voidToken
- the token to build fromLanguageIdentifierNode
public static LanguageIdentifierNode buildVoid()
LanguageIdentifierNode
that represents this
.LanguageIdentifierNode
public static LanguageIdentifierNode buildAnyType(IASToken anyTypeToken)
LanguageIdentifierNode
that represents *
.anyTypeToken
- the token to build fromLanguageIdentifierNode
public static LanguageIdentifierNode buildAnyType()
LanguageIdentifierNode
that represents *
.LanguageIdentifierNode
public static LanguageIdentifierNode buildRest(IASToken restToken)
LanguageIdentifierNode
that represents ...
.restToken
- the token to build fromLanguageIdentifierNode
public static LanguageIdentifierNode buildRest()
LanguageIdentifierNode
that represents ...
.LanguageIdentifierNode
public ASTNodeID getNodeID()
IASNode
getNodeID
in interface IASNode
getNodeID
in class IdentifierNode
public IDefinition resolve(ICompilerProject project)
IExpressionNode
resolve
in interface IExpressionNode
resolve
in class IdentifierNode
project
- The ICompilerProject
to use to do lookups.IDefinition
this expression refers to.public ITypeDefinition resolveType(ICompilerProject project)
IExpressionNode
resolveType
in interface IExpressionNode
resolveType
in class IdentifierNode
project
- The ICompilerProject
to use to do lookups.ITypeDefinition
of the type this expression results in.protected LanguageIdentifierNode copy()
ExpressionNodeBase
copy
in class IdentifierNode
public Name getMName(ICompilerProject project)
ExpressionNodeBase
Name
object to be used for an expression.
For all expression nodes except for the identifier nodes and member
access nodes, this method returns null
.
This is the method that the code generator calls to determine what name to emit into the ABC file. It will handle resolving the identifier if necessary and generating the appropriate qname or multiname.
getMName
in class IdentifierNode
project
- The ICompilerProject
to use to do lookups.Name
object.public String getName()
IIdentifierNode
getName
in interface IIdentifierNode
getName
in class IdentifierNode
public ILanguageIdentifierNode.LanguageIdentifierKind getKind()
ILanguageIdentifierNode
LanguageIdentifierNode
representsgetKind
in interface ILanguageIdentifierNode
ILanguageIdentifierNode.LanguageIdentifierKind
public LanguageIdentifierNode.Context getContext()
Copyright © 2016 The Apache Software Foundation. All rights reserved.