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
Nameor a bracketed [expression]
ns::name,@name) are represented asXmlPropRefnodes. The bracketed-expression versions (examples:ns::[name],@[name]) becomeXmlElemRefnodes.This node type (or more specifically, its subclasses) will sometimes be the right-hand child of a
PropertyGetnode or anXmlMemberGetnode. TheXmlRefnode 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@idis anXmlRefthat is part of an infix '<' expression whose parent is anXmlDotQuerynode.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNode
AstNode.DebugPrintVisitor, AstNode.PositionComparator
-
Nested classes/interfaces inherited from class org.mozilla.javascript.Node
Node.NodeIterator
-
-
Field Summary
Fields Modifier and Type Field Description protected intatPosprotected intcolonPosprotected Namenamespace-
Fields inherited from class org.mozilla.javascript.ast.AstNode
inlineComment, length, parent, position
-
Fields 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, 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, TRAILING_COMMA, type, VARIABLE_PROP
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetAtPos()Returns position of@-token, or -1 if this is not an attribute-access expression.intgetColonPos()Returns position of::token, or -1 if not present.NamegetNamespace()Return the namespace.booleanisAttributeAccess()Returnstrueif 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, visit
-
Methods inherited from class org.mozilla.javascript.Node
addChildAfter, 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, toStringTree
-
-
-
-
Field Detail
-
namespace
protected Name namespace
-
atPos
protected int atPos
-
colonPos
protected int colonPos
-
-
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()
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
-
-