Package org.mozilla.javascript.ast
Class XmlLiteral
java.lang.Object
org.mozilla.javascript.Node
org.mozilla.javascript.ast.AstNode
org.mozilla.javascript.ast.XmlLiteral
- All Implemented Interfaces:
Comparable<AstNode>
,Iterable<Node>
AST node for an E4X (Ecma-357) embedded XML literal. Node type is
Token.XML
. The parser
generates a simple list of strings and expressions. In the future we may parse the XML and
produce a richer set of nodes, but for now it's just a set of expressions evaluated to produce a
string to pass to the XML
constructor function.-
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 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, 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFragment
(XmlFragment fragment) Adds a fragment to the fragment list.Returns fragment list - a list of expression nodes.void
setFragments
(List<XmlFragment> fragments) Sets fragment list, removing any existing fragments first.toSource
(int depth) Emits source code for this node.void
visit
(NodeVisitor v) Visits this node, then visits each child fragment in lexical order.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
Methods 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, toStringTree
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
XmlLiteral
public XmlLiteral() -
XmlLiteral
public XmlLiteral(int pos) -
XmlLiteral
public XmlLiteral(int pos, int len)
-
-
Method Details
-
getFragments
Returns fragment list - a list of expression nodes. -
setFragments
Sets fragment list, removing any existing fragments first. Sets the parent pointer for each fragment in the list to this node.- Parameters:
fragments
- fragment list. Replaces any existing fragments.- Throws:
IllegalArgumentException
- } iffragments
isnull
-
addFragment
Adds a fragment to the fragment list. Sets its parent to this node.- Throws:
IllegalArgumentException
- } iffragment
isnull
-
toSource
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 thetoSource
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. -
visit
Visits this node, then visits each child fragment in lexical order.
-