public class MemberAccessExpressionNode extends BinaryOperatorNodeBase implements IMemberAccessExpressionNode
object.fieldNameobject..descendantsNamexmlObject.(expr)IOperatorNode.ExpressionType, IOperatorNode.OperatorTypeleftOperandNode, rightOperandNodeoperatorStartflagsemptyNodeArray, parentUNKNOWN| Constructor and Description |
|---|
MemberAccessExpressionNode(ExpressionNodeBase left,
IASToken operatorToken,
ExpressionNodeBase right)
Constructor.
|
MemberAccessExpressionNode(MemberAccessExpressionNode other)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
INamespaceReference |
computeNamespaceReference()
Generate an INamespaceReference that can serve as the namespace reference for something
like a namespace initializer.
|
protected MemberAccessExpressionNode |
copy()
Copy the ExpressionNodeBase and its subtree.
|
String |
getDisplayString()
Returns a string representation of this member access node, including the operator.
|
Name |
getMName(ICompilerProject project)
Gets the AET
Name object to be used for an expression. |
ASTNodeID |
getNodeID()
Get the opcode of this node
|
IOperatorNode.OperatorType |
getOperator()
Returns the type of the operator that is referenced from this expression
|
String |
getOperatorText() |
boolean |
isDynamicExpression(ICompilerProject project)
Does this expression evaluate to a dynamic value
|
boolean |
isMemberReference(IASNode node)
Is the given node this node's member reference?
|
boolean |
isSuper(ExpressionNodeBase 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.
|
void |
setStemAsPackage(boolean b)
Tell the MemberAccessExpression that it's "stem" ('a.b' in 'a.b.Foo')
should always be treated as a package, regardless of whether it is
imported or not.
|
boolean |
stemIsPackage()
Determine if the left side of this Node refers to a package name
|
create, fillInOffsets, getChild, getChildCount, getExpressionType, getLeftOperandNode, getRightOperandNode, isOperatingOnArray, resolveAssignmentType, resolveLogicalType, setChildren, setLeftOperandNode, setRightOperandNodebuildInnerString, getOperatorAbsoluteEnd, getOperatorAbsoluteStart, getOperatorEnd, getOperatorStart, isTerminalcopyForInitializer, getASScope, getBaseExpression, getDecorationNode, getDependencyType, getParentExpression, hasParenthesis, inFilter, inWith, isPackageReference, normalize, setHasParenthesisanalyze, buildStringRecursive, canContinueContainmentSearch, collectImportNodes, combineAttributes, connectedToProjectScope, contains, endAfter, endAfter, endBefore, endBefore, getAbsoluteEnd, getAbsoluteStart, getAncestorOfType, getContainingFilePath, getContainingNode, getContainingScope, getEnd, getFileScope, getFileSpecification, getInnerString, getNodeKind, getPackageName, getParent, getScopeNode, getSpanningStart, getStart, getSucceedingNode, getWorkspace, isTransparent, looselyContains, replaceChild, runPostProcess, setParent, span, span, span, startAfter, startAfter, startBefore, startBefore, swapChildren, toString, tryGetOffsetLookup, verifygetColumn, getEndColumn, getEndLine, getLine, getLineColumnString, getOffsetsString, getSourcePath, getSourcePathString, setColumn, setEnd, setEndColumn, setEndLine, setLine, setSourceLocation, setSourcePath, setStart, span, spanclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetLeftOperandNode, getRightOperandNodegetExpressionType, getOperatorAbsoluteEnd, getOperatorAbsoluteStart, getOperatorEnd, getOperatorStartcopyForInitializer, hasParenthesiscontains, getAncestorOfType, getChild, getChildCount, getContainingNode, getContainingScope, getFileSpecification, getPackageName, getParent, getSpanningStart, getSucceedingNode, isTerminalgetAbsoluteEnd, getAbsoluteStart, getColumn, getEnd, getEndColumn, getEndLine, getLine, getSourcePath, getStartpublic MemberAccessExpressionNode(ExpressionNodeBase left, IASToken operatorToken, ExpressionNodeBase right)
left - the expression on the left of the member access (the object)operatorToken - the ASToken holding the member access operator (".")right - the expression on the right of the member access (the
member)public MemberAccessExpressionNode(MemberAccessExpressionNode other)
other - The node to copy.public ASTNodeID getNodeID()
IASNodepublic IDefinition resolve(ICompilerProject project)
IExpressionNoderesolve in interface IExpressionNoderesolve in class ExpressionNodeBaseproject - The ICompilerProject to use to do lookups.IDefinition this expression refers to.public ITypeDefinition resolveType(ICompilerProject project)
IExpressionNoderesolveType in interface IExpressionNoderesolveType in class BinaryOperatorNodeBaseproject - The ICompilerProject to use to do lookups.ITypeDefinition of the type this expression results in.public boolean isDynamicExpression(ICompilerProject project)
IExpressionNodeisDynamicExpression in interface IExpressionNodeisDynamicExpression in class ExpressionNodeBaseproject - The ICompilerProject to use to do lookups.true if we evaluate to something dynamicprotected MemberAccessExpressionNode copy()
ExpressionNodeBasecopy in class ExpressionNodeBasepublic Name getMName(ICompilerProject project)
ExpressionNodeBaseName 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 ExpressionNodeBaseproject - The ICompilerProject to use to do lookups.Name object.public INamespaceReference computeNamespaceReference()
ExpressionNodeBasecomputeNamespaceReference in class ExpressionNodeBasepublic IOperatorNode.OperatorType getOperator()
IOperatorNodegetOperator in interface IOperatorNodepublic String getOperatorText()
getOperatorText in class OperatorNodeBasepublic String getDisplayString()
IMemberAccessExpressionNodegetDisplayString in interface IMemberAccessExpressionNode"a.b".public boolean isSuper(ExpressionNodeBase node)
public boolean stemIsPackage()
public void setStemAsPackage(boolean b)
public boolean isMemberReference(IASNode node)
node - - the node of interest.Copyright © 2016 The Apache Software Foundation. All rights reserved.