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
Name
or 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.PositionComparator
Nested classes/interfaces inherited from class org.mozilla.javascript.Node
Node.NodeIterator
-
Field Summary
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, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, JSDOC_PROP, LABEL_ID_PROP, LAST_PROP, LEFT, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, VARIABLE_PROP
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
getAtPos()
Returns position of@
-token, or -1 if this is not an attribute-access expression.int
Returns position of::
token, or -1 if not present.Return the namespace.boolean
Returnstrue
if this expression began with an@
-token.void
setAtPos
(int atPos) Sets position of@
-token, or -1void
setColonPos
(int colonPos) Sets position of::
token, or -1 if not presentvoid
setNamespace
(Name namespace) Sets namespace, and sets its parent to this node.Methods inherited from class org.mozilla.javascript.ast.AstNode
addChild, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource, toSource, visit
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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
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()Returnstrue
if 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
-