org.mozilla.javascript.ast
Class XmlMemberGet

java.lang.Object
  extended by org.mozilla.javascript.Node
      extended by org.mozilla.javascript.ast.AstNode
          extended by org.mozilla.javascript.ast.InfixExpression
              extended by org.mozilla.javascript.ast.XmlMemberGet
All Implemented Interfaces:
java.lang.Comparable<AstNode>, java.lang.Iterable<Node>

public class XmlMemberGet
extends InfixExpression

AST node for E4X ".@" and ".." expressions, such as foo..bar, foo..@bar, @foo.@bar, and foo..@ns::*. The right-hand node is always an XmlRef.

Node type is Token.DOT or Token.DOTDOT.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNode
AstNode.DebugPrintVisitor, AstNode.PositionComparator
 
Nested classes/interfaces inherited from class org.mozilla.javascript.Node
Node.NodeIterator
 
Field Summary
 
Fields inherited from class org.mozilla.javascript.ast.InfixExpression
left, operatorPosition, right
 
Fields inherited from class org.mozilla.javascript.ast.AstNode
length, parent, position
 
Fields inherited from class org.mozilla.javascript.Node
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 Summary
XmlMemberGet()
           
XmlMemberGet(AstNode target, XmlRef ref)
          Constructs a new XmlMemberGet node.
XmlMemberGet(AstNode target, XmlRef ref, int opPos)
           
XmlMemberGet(int pos)
           
XmlMemberGet(int pos, int len)
           
XmlMemberGet(int pos, int len, AstNode target, XmlRef ref)
           
 
Method Summary
 XmlRef getMemberRef()
          Returns the right-side XML member ref expression.
 AstNode getTarget()
          Returns the object on which the XML member-ref expression is being evaluated.
 void setProperty(XmlRef ref)
          Sets the XML member-ref expression, 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.
 
Methods inherited from class org.mozilla.javascript.ast.InfixExpression
getLeft, getOperator, getOperatorPosition, getRight, hasSideEffects, setLeft, setLeftAndRight, setOperator, setOperatorPosition, setRight, visit
 
Methods inherited from class org.mozilla.javascript.ast.AstNode
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource
 
Methods inherited from class org.mozilla.javascript.Node
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XmlMemberGet

public XmlMemberGet()

XmlMemberGet

public XmlMemberGet(int pos)

XmlMemberGet

public XmlMemberGet(int pos,
                    int len)

XmlMemberGet

public XmlMemberGet(int pos,
                    int len,
                    AstNode target,
                    XmlRef ref)

XmlMemberGet

public XmlMemberGet(AstNode target,
                    XmlRef ref)
Constructs a new XmlMemberGet node. Updates bounds to include target and ref nodes.


XmlMemberGet

public XmlMemberGet(AstNode target,
                    XmlRef ref,
                    int opPos)
Method Detail

getTarget

public AstNode getTarget()
Returns the object on which the XML member-ref expression is being evaluated. Should never be null.


setTarget

public void setTarget(AstNode target)
Sets target object, and sets its parent to this node.

Throws:
java.lang.IllegalArgumentException - if target is null

getMemberRef

public XmlRef getMemberRef()
Returns the right-side XML member ref expression. Should never be null unless the code is malformed.


setProperty

public void setProperty(XmlRef ref)
Sets the XML member-ref expression, and sets its parent to this node.

Throws:
java.lang.IllegalArgumentException - if property is null

toSource

public java.lang.String toSource(int depth)
Description copied from class: AstNode
Emits source code for this node. Callee is responsible for calling this function recursively on children, incrementing indent as appropriate.

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.

Overrides:
toSource in class InfixExpression
Parameters:
depth - the current recursion depth, typically beginning at 0 when called on the root node.