Package org.mozilla.javascript.ast
Class ArrayLiteral
- java.lang.Object
- 
- org.mozilla.javascript.Node
- 
- org.mozilla.javascript.ast.AstNode
- 
- org.mozilla.javascript.ast.ArrayLiteral
 
 
 
- 
- All Implemented Interfaces:
- java.lang.Comparable<AstNode>,- java.lang.Iterable<Node>,- DestructuringForm
 
 public class ArrayLiteral extends AstNode implements DestructuringForm AST node for an Array literal. The elements list will always be non-null, although the list will have no elements if the Array literal is empty.Node type is Token.ARRAYLIT.ArrayLiteral : [ Elisionopt ] [ ElementList ] [ ElementList , Elisionopt ] ElementList : Elisionopt AssignmentExpression ElementList , Elisionopt AssignmentExpression Elision : , Elision ,
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNodeAstNode.DebugPrintVisitor, AstNode.PositionComparator
 - 
Nested classes/interfaces inherited from class org.mozilla.javascript.NodeNode.NodeIterator
 
- 
 - 
Field Summary- 
Fields inherited from class org.mozilla.javascript.ast.AstNodeinlineComment, length, parent, position
 - 
Fields inherited from class org.mozilla.javascript.NodeARROW_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
 
- 
 - 
Constructor SummaryConstructors Constructor Description ArrayLiteral()ArrayLiteral(int pos)ArrayLiteral(int pos, int len)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddElement(AstNode element)Adds an element to the list, and sets its parent to this node.intgetDestructuringLength()Returns destructuring lengthAstNodegetElement(int index)Returns element at specified index.java.util.List<AstNode>getElements()Returns the element listintgetSize()Returns the number of elements in thisArrayliteral, including empty elements.intgetSkipCount()Used by code generator.booleanisDestructuring()Returns true if this node is in a destructuring position: a function parameter, the target of a variable initializer, the iterator of a for..in loop, etc.voidsetDestructuringLength(int destructuringLength)Sets destructuring length.voidsetElements(java.util.List<AstNode> elements)Sets the element list, and sets each element's parent to this node.voidsetIsDestructuring(boolean destructuring)Marks this node as being a destructuring form - that is, appearing in a context such asfor ([a, b] in ...)where it's the target of a destructuring assignment.voidsetSkipCount(int count)Used by code generator.java.lang.StringtoSource(int depth)Emits source code for this node.voidvisit(NodeVisitor v)Visits this node, then visits its element expressions in order.- 
Methods inherited from class org.mozilla.javascript.ast.AstNodeaddChild, 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.NodeaddChildAfter, 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
 
- 
 
- 
- 
- 
Method Detail- 
getElementspublic java.util.List<AstNode> getElements() Returns the element list- Returns:
- the element list. If there are no elements, returns an immutable empty list. Elisions
     are represented as EmptyExpressionnodes.
 
 - 
setElementspublic void setElements(java.util.List<AstNode> elements) Sets the element list, and sets each element's parent to this node.- Parameters:
- elements- the element list. Can be- null.
 
 - 
addElementpublic void addElement(AstNode element) Adds an element to the list, and sets its parent to this node.- Parameters:
- element- the element to add
- Throws:
- java.lang.IllegalArgumentException- if element is- null. To indicate an empty element, use an- EmptyExpressionnode.
 
 - 
getSizepublic int getSize() Returns the number of elements in thisArrayliteral, including empty elements.
 - 
getElementpublic AstNode getElement(int index) Returns element at specified index.- Parameters:
- index- the index of the element to retrieve
- Returns:
- the element
- Throws:
- java.lang.IndexOutOfBoundsException- if the index is invalid
 
 - 
getDestructuringLengthpublic int getDestructuringLength() Returns destructuring length
 - 
setDestructuringLengthpublic void setDestructuringLength(int destructuringLength) Sets destructuring length. This is set by the parser and used by the code generator.for ([a,] in obj)is legal, butfor ([a] in obj)is not since we have both key and value supplied. The difference is only meaningful in array literals used in destructuring-assignment contexts.
 - 
getSkipCountpublic int getSkipCount() Used by code generator.- Returns:
- the number of empty elements
 
 - 
setSkipCountpublic void setSkipCount(int count) Used by code generator.- Parameters:
- count- the count of empty elements
 
 - 
setIsDestructuringpublic void setIsDestructuring(boolean destructuring) Marks this node as being a destructuring form - that is, appearing in a context such asfor ([a, b] in ...)where it's the target of a destructuring assignment.- Specified by:
- setIsDestructuringin interface- DestructuringForm
 
 - 
isDestructuringpublic boolean isDestructuring() Returns true if this node is in a destructuring position: a function parameter, the target of a variable initializer, the iterator of a for..in loop, etc.- Specified by:
- isDestructuringin interface- DestructuringForm
 
 - 
toSourcepublic java.lang.String toSource(int depth) Description copied from class:AstNodeEmits 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 nullchildren that are expected to be non-nullwhen no errors are present. In this situation, the behavior of thetoSourcemethod is undefined:toSourceimplementations may assume that the AST node is error-free, since it is intended to be invoked only at runtime after a successful parse.
 - 
visitpublic void visit(NodeVisitor v) Visits this node, then visits its element expressions in order. Any empty elements are represented byEmptyExpressionobjects, so the callback will never be passednull.
 
- 
 
-