XmlDotQuery (Rhino)
Date: 2015-04-27

org.mozilla.javascript.ast

## Class XmlDotQuery

- java.lang.Object
- - org.mozilla.javascript.Node
  - - org.mozilla.javascript.ast.AstNode
    - - org.mozilla.javascript.ast.InfixExpression
      - - org.mozilla.javascript.ast.XmlDotQuery

- All Implemented Interfaces:
    java.lang.Comparable<AstNode>, java.lang.Iterable<Node>

      public class XmlDotQuery
      extends InfixExpression

  AST node representing an E4X `foo.(bar)` query expression. The node type (operator) is `Token.DOTQUERY`. Its `getLeft` node is the target ("foo" in the example), and the `getRight` node is the filter expression node.

  This class exists separately from `InfixExpression` largely because it has different printing needs. The position of the left paren is just after the dot (operator) position, and the right paren is the final position in the bounds of the node. If the right paren is missing, the node ends at the end of the filter expression.

- - ### 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

    Constructors
    Constructor and Description
    `XmlDotQuery()`
    `XmlDotQuery(int pos)`
    `XmlDotQuery(int pos, int len)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getRp()` Returns right-paren position, -1 if missing.
    `void` | `setRp(int rp)` Sets right-paren position
    `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

    - #### XmlDotQuery

          public XmlDotQuery()

    - #### XmlDotQuery

          public XmlDotQuery(int pos)

    - #### XmlDotQuery

          public XmlDotQuery(int pos,
                     int len)

  - ### Method Detail

    - #### getRp

          public int getRp()

      Returns right-paren position, -1 if missing.

      Note that the left-paren is automatically the character immediately after the "." in the operator - no whitespace is permitted between the dot and lp by the scanner.

    - #### setRp

          public void setRp(int rp)

      Sets right-paren position

    - #### 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.