public class PropertyGet extends InfixExpression
Token.GETPROP
.AstNode.DebugPrintVisitor, AstNode.PositionComparator
Node.NodeIterator
left, operatorPosition, right
ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, DESTRUCTURING_SHORTHAND, DIRECTCALL_PROP, END_DROPS_OFF, END_RETURNS, END_RETURNS_VALUE, END_UNREACHED, END_YIELDS, EXPRESSION_CLOSURE_PROP, first, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, JSDOC_PROP, LABEL_ID_PROP, last, LAST_PROP, LEFT, lineno, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, next, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, type, VARIABLE_PROP
Constructor and Description |
---|
PropertyGet() |
PropertyGet(AstNode target,
Name property)
Constructor.
|
PropertyGet(AstNode target,
Name property,
int dotPosition) |
PropertyGet(int pos) |
PropertyGet(int pos,
int len) |
PropertyGet(int pos,
int len,
AstNode target,
Name property) |
Modifier and Type | Method and Description |
---|---|
Name |
getProperty()
Returns the property being accessed.
|
AstNode |
getTarget()
Returns the object on which the property is being fetched.
|
void |
setProperty(Name property)
Sets the property being accessed, and sets its parent to this node.
|
void |
setTarget(AstNode target)
Sets target object, and sets its parent to this node.
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node, the target expression, and the property name.
|
getLeft, getOperator, getOperatorPosition, getRight, hasSideEffects, setLeft, setLeftAndRight, setOperator, setOperatorPosition, setRight
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getChildBefore, getDouble, getExistingIntProp, getFirstChild, getIntProp, getJsDoc, getJsDocNode, getLastChild, getLastSibling, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, iterator, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeChildren, removeProp, replaceChild, replaceChildAfter, resetTargets, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTree
public PropertyGet()
public PropertyGet(int pos)
public PropertyGet(int pos, int len)
public PropertyGet(AstNode target, Name property)
target
) and
right (property
) nodes.public AstNode getTarget()
null
.public void setTarget(AstNode target)
target
- expression evaluating to the object upon which
to do the property lookupIllegalArgumentException}
- if target
is null
public Name getProperty()
public void setProperty(Name property)
IllegalArgumentException}
- if property
is null
public java.lang.String toSource(int depth)
AstNode
Note: if the parser was in error-recovery mode, some AST nodes may have
null
children that are expected to be non-null
when no errors are present. In this situation, the behavior of the
toSource
method is undefined: toSource
implementations may assume that the AST node is error-free, since it is
intended to be invoked only at runtime after a successful parse.
toSource
in class InfixExpression
depth
- the current recursion depth, typically beginning at 0
when called on the root node.public void visit(NodeVisitor v)
visit
in class InfixExpression
v
- the object to call with this node and its children