net.sourceforge.htmlunit.corejs.javascript.ast
Class XmlDotQuery
java.lang.Object
net.sourceforge.htmlunit.corejs.javascript.Node
net.sourceforge.htmlunit.corejs.javascript.ast.AstNode
net.sourceforge.htmlunit.corejs.javascript.ast.InfixExpression
net.sourceforge.htmlunit.corejs.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 classes/interfaces inherited from class net.sourceforge.htmlunit.corejs.javascript.Node |
Node.NodeIterator |
| Fields inherited from class net.sourceforge.htmlunit.corejs.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 |
|
Method Summary |
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 net.sourceforge.htmlunit.corejs.javascript.ast.InfixExpression |
getLeft, getOperator, getOperatorPosition, getRight, hasSideEffects, setLeft, setLeftAndRight, setOperator, setOperatorPosition, setRight, visit |
| Methods inherited from class net.sourceforge.htmlunit.corejs.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 net.sourceforge.htmlunit.corejs.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 |
XmlDotQuery
public XmlDotQuery()
XmlDotQuery
public XmlDotQuery(int pos)
XmlDotQuery
public XmlDotQuery(int pos,
int len)
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.