Package org.mozilla.javascript.ast
Class XmlRef
java.lang.Object
org.mozilla.javascript.Node
org.mozilla.javascript.ast.AstNode
org.mozilla.javascript.ast.XmlRef
- All Implemented Interfaces:
Comparable<AstNode>,Iterable<Node>
- Direct Known Subclasses:
XmlElemRef,XmlPropRef
Base class for E4X XML attribute-access or property-get expressions. Such expressions can take a
variety of forms. The general syntax has three parts:
- optional: an
@(specifying an attribute access) - optional: a namespace (a
Name) and double-colon - required: either a
Nameor a bracketed [expression]
ns::name, @name) are represented as
XmlPropRef nodes. The bracketed-expression versions (examples: ns::[name],
@[name]) become XmlElemRef nodes.
This node type (or more specifically, its subclasses) will sometimes be the right-hand child
of a PropertyGet node or an XmlMemberGet node. The XmlRef node may also
be a standalone primary expression with no explicit target, which is valid in certain expression
contexts such as company..employee.(@id < 100) - in this case, the @id is an
XmlRef that is part of an infix '<' expression whose parent is an XmlDotQuery
node.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNode
AstNode.DebugPrintVisitor, AstNode.PositionComparatorNested classes/interfaces inherited from class org.mozilla.javascript.Node
Node.NodeIterator -
Field Summary
FieldsFields inherited from class org.mozilla.javascript.ast.AstNode
inlineComment, length, parent, positionFields inherited from class org.mozilla.javascript.Node
ARROW_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, OBJECT_LITERAL_DESTRUCTURING, OPTIONAL_CHAINING, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, TRAILING_COMMA, type, VARIABLE_PROP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetAtPos()Returns position of@-token, or -1 if this is not an attribute-access expression.intReturns position of::token, or -1 if not present.Return the namespace.booleanReturnstrueif this expression began with an@-token.voidsetAtPos(int atPos) Sets position of@-token, or -1voidsetColonPos(int colonPos) Sets position of::token, or -1 if not presentvoidsetNamespace(Name namespace) Sets namespace, and sets its parent to this node.Methods inherited from class org.mozilla.javascript.ast.AstNode
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setInlineComment, setLength, setParent, setPosition, setRelative, shortName, toSource, toSource, visitMethods inherited from class org.mozilla.javascript.Node
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getBigInt, getChildBefore, getColumn, 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, setLineColumnNumber, setScope, setString, setType, toString, toStringTreeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
namespace
-
atPos
protected int atPos -
colonPos
protected int colonPos
-
-
Constructor Details
-
XmlRef
public XmlRef() -
XmlRef
public XmlRef(int pos) -
XmlRef
public XmlRef(int pos, int len)
-
-
Method Details
-
getNamespace
Return the namespace. May be@null. -
setNamespace
Sets namespace, and sets its parent to this node. Can benull. -
isAttributeAccess
public boolean isAttributeAccess()Returnstrueif this expression began with an@-token. -
getAtPos
public int getAtPos()Returns position of@-token, or -1 if this is not an attribute-access expression. -
setAtPos
public void setAtPos(int atPos) Sets position of@-token, or -1 -
getColonPos
public int getColonPos()Returns position of::token, or -1 if not present. It will only be present if the namespace node is non-null. -
setColonPos
public void setColonPos(int colonPos) Sets position of::token, or -1 if not present
-