Package org.mozilla.javascript.ast
Class XmlRef
- java.lang.Object
-
- org.mozilla.javascript.Node
-
- org.mozilla.javascript.ast.AstNode
-
- org.mozilla.javascript.ast.XmlRef
-
- Direct Known Subclasses:
XmlElemRef
,XmlPropRef
public abstract class XmlRef extends AstNode
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 asXmlPropRef
nodes. The bracketed-expression versions (examples:ns::[name]
,@[name]
) becomeXmlElemRef
nodes.This node type (or more specifically, its subclasses) will sometimes be the right-hand child of a
PropertyGet
node or anXmlMemberGet
node. TheXmlRef
node may also be a standalone primary expression with no explicit target, which is valid in certain expression contexts such ascompany..employee.(@id < 100)
- in this case, the@id
is anXmlRef
that is part of an infix '<' expression whose parent is anXmlDotQuery
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getAtPos()
Returns position of@
-token, or -1 if this is not an attribute-access expression.int
getColonPos()
Returns position of::
token, or -1 if not present.Name
getNamespace()
Return the namespace.boolean
isAttributeAccess()
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
-
-
-
-
Method Detail
-
getNamespace
public Name getNamespace()
Return the namespace. May be@null
.
-
setNamespace
public void setNamespace(Name namespace)
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
-
-