org.eclipse.wst.jsdt.core.dom

## Class ArrayCreation

- java.lang.Object
- - org.eclipse.wst.jsdt.core.dom.ASTNode
  - - org.eclipse.wst.jsdt.core.dom.Expression
    - - org.eclipse.wst.jsdt.core.dom.ArrayCreation

    public class ArrayCreation
    extends Expression

Array creation expression AST node type. For JLS2:

The mapping from JavaScript language syntax to AST nodes is as follows:

- the type node is the array type of the creation expression, with one level of array per set of square brackets,
- the dimension expressions are collected into the `dimensions` list.

For JLS3, type arguments are added:

     ArrayCreation:
        new PrimitiveType [ Expression ] { [ Expression ] } { [ ] }
        new TypeName [ < Type { , Type } > ]
            [ Expression ] { [ Expression ] } { [ ] }
        new PrimitiveType [ ] { [ ] } ArrayInitializer
        new TypeName [ < Type { , Type } > ]
            [ ] { [ ] } ArrayInitializer

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Field Summary

Fields
`static ChildListPropertyDescriptor` `DIMENSIONS_PROPERTY` The "dimensions" structural property of this node type.
`static ChildPropertyDescriptor` `INITIALIZER_PROPERTY` The "initializer" structural property of this node type.
`static ChildPropertyDescriptor` `TYPE_PROPERTY` The "type" structural property of this node type.

### Fields inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

`ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`java.util.List` `dimensions()` Returns the live ordered list of dimension expressions in this array initializer.
`ArrayInitializer` `getInitializer()` Returns the array initializer of this array creation expression, or `null` if there is none.
`ArrayType` `getType()` Returns the array type in this array creation expression.
`static java.util.List` `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` `setInitializer(ArrayInitializer initializer)` Sets or clears the array initializer of this array creation expression.
`void` `setType(ArrayType type)` Sets the array type in this array creation expression.

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.Expression

`resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing`

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getBodyChild, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### TYPE_PROPERTY

    public static final ChildPropertyDescriptor TYPE_PROPERTY

The "type" structural property of this node type.

Note: This Method only applies to ECMAScript 4 which is not yet supported

#### DIMENSIONS_PROPERTY

    public static final ChildListPropertyDescriptor DIMENSIONS_PROPERTY

The "dimensions" structural property of this node type.

#### INITIALIZER_PROPERTY

    public static final ChildPropertyDescriptor INITIALIZER_PROPERTY

The "initializer" structural property of this node type.

### Method Detail

#### propertyDescriptors

    public static java.util.List propertyDescriptors(int apiLevel)

Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
  `apiLevel` - the API level; one of the `AST.JLS*` constants
Returns:
  a list of property descriptors (element type: `StructuralPropertyDescriptor`)

#### getType

    public ArrayType getType()

Returns the array type in this array creation expression.

Note: This Method only applies to ECMAScript 4 which is not yet supported

Returns:
  the array type

#### setType

    public void setType(ArrayType type)

Sets the array type in this array creation expression.

Parameters:
  `type` - the new array type
Throws:
  `java.lang.IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent

#### dimensions

    public java.util.List dimensions()

Returns the live ordered list of dimension expressions in this array initializer.

Returns:
  the live list of dimension expressions (element type: `Expression`)

#### getInitializer

    public ArrayInitializer getInitializer()

Returns the array initializer of this array creation expression, or `null` if there is none.

Returns:
  the array initializer node, or `null` if there is none

#### setInitializer

    public void setInitializer(ArrayInitializer initializer)

Sets or clears the array initializer of this array creation expression.

Parameters:
  `initializer` - the array initializer node, or `null` if there is none
Throws:
  `java.lang.IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent
  - a cycle in would be created