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>
public class XmlLiteral extends AstNode
AST node for an E4X (Ecma-357) embedded XML literal. Node type isToken.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 theXML
constructor function.
-
-
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 Constructor Description XmlLiteral()
XmlLiteral(int pos)
XmlLiteral(int pos, int len)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFragment(XmlFragment fragment)
Adds a fragment to the fragment list.List<XmlFragment>
getFragments()
Returns fragment list - a list of expression nodes.void
setFragments(List<XmlFragment> fragments)
Sets fragment list, removing any existing fragments first.String
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, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource
-
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
-
-
-
-
Method Detail
-
getFragments
public List<XmlFragment> getFragments()
Returns fragment list - a list of expression nodes.
-
setFragments
public void setFragments(List<XmlFragment> fragments)
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
public void addFragment(XmlFragment fragment)
Adds a fragment to the fragment list. Sets its parent to this node.- Throws:
IllegalArgumentException
- } iffragment
isnull
-
toSource
public String toSource(int depth)
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
public void visit(NodeVisitor v)
Visits this node, then visits each child fragment in lexical order.
-
-