public class XmlDotQuery extends InfixExpression
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.
AstNode.DebugPrintVisitor, AstNode.PositionComparatorNode.NodeIteratorleft, operatorPosition, rightinlineComment, length, parent, positionARROW_FUNCTION_PROP, ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, 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, SHORTHAND_PROPERTY_NAME, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, type, VARIABLE_PROP| Constructor and Description |
|---|
XmlDotQuery() |
XmlDotQuery(int pos) |
XmlDotQuery(int pos,
int len) |
| 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.
|
getLeft, getOperator, getOperatorPosition, getRight, hasSideEffects, setLeft, setLeftAndRight, setOperator, setOperatorPosition, setRight, visitaddChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, makeIndent, operatorToString, printList, setBounds, setInlineComment, setLength, setParent, setPosition, setRelative, shortName, toSourceaddChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getBigInt, 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, setBigInt, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTreepublic XmlDotQuery()
public XmlDotQuery(int pos)
public XmlDotQuery(int pos,
int len)
public int getRp()
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.
public void setRp(int rp)
public java.lang.String toSource(int depth)
AstNodeNote: 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 InfixExpressiondepth - the current recursion depth, typically beginning at 0 when called on the root
node.