Package org.codehaus.janino

# Class Java.NewArray

java.lang.Object
org.codehaus.janino.Java.Located
org.codehaus.janino.Java.Atom
org.codehaus.janino.Java.Rvalue
org.codehaus.janino.Java.NewArray

All Implemented Interfaces:
  `Java.ArrayInitializerOrRvalue`, `Java.ElementValue`, `Java.Locatable`

Enclosing class:
  `Java`

public static final class Java.NewArray extends Java.Rvalue
Representation of a JLS7 15.10 "array creation expression".

## Field Summary

Fields
Modifier and Type
Field
Description
`final Java.Rvalue[]`
`dimExprs`
The sizes of the first dimensions to instantiate.
`final int`
`dims`
The count of additional dimensions that the array should have.
`final Java.Type`
`type`
The component type of the (`dimExprs``.length +` `dims`)-dimensional array to instantiate.

### Fields inherited from class org.codehaus.janino.Java.Located

`NOWHERE`

## Constructor Summary

Constructors
Constructor
Description
`NewArray(Location location, Java.Type type, Java.Rvalue[] dimExprs, int dims)`
Creates a new array with dimension dimExprs`.length +` dims.

## Method Summary

Modifier and Type
Method
Description
`<R, EX extends Throwable>
R`
`accept(Visitor.RvalueVisitor<R,EX> visitor)`
Invokes the "`visit...()`" method of `Visitor.RvalueVisitor` for the concrete `Java.Rvalue` type.
`String`
`toString()`

### Methods inherited from class org.codehaus.janino.Java.Rvalue

`accept, accept, accept, getEnclosingScope, getEnclosingScopeOrNull, setEnclosingScope, toRvalue`

### Methods inherited from class org.codehaus.janino.Java.Atom

`toLvalue, toLvalueOrCompileException, toRvalueOrCompileException, toType, toTypeOrCompileException`

### Methods inherited from class org.codehaus.janino.Java.Located

`getLocation, throwCompileException`

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

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

### Methods inherited from interface org.codehaus.janino.Java.Locatable

`getLocation, throwCompileException`

## Field Details

### type

public final Java.Type type
The component type of the (`dimExprs``.length +` `dims`)-dimensional array to instantiate.

### dimExprs

public final Java.Rvalue[] dimExprs
The sizes of the first dimensions to instantiate.

### dims

public final int dims
The count of additional dimensions that the array should have.

## Constructor Details

### NewArray

public NewArray(Location location, Java.Type type, Java.Rvalue[] dimExprs, int dims)
Creates a new array with dimension dimExprs`.length +` dims.

E.g. byte[12][][] is created with

         new NewArray(
             null,
             Java.PrimitiveType(NULL, Java.PrimitiveType.BYTE),
             new Rvalue[] { new Java.Literal(null, Integer.valueOf(12) },
             2
         )

Parameters:
  `location` - the location of this element
  `type` - the base type of the array
  `dimExprs` - sizes for dimensions being allocated with specific sizes
  `dims` - the number of dimensions that are not yet allocated

## Method Details

### toString

public String toString()

Specified by:
  `toString` in class `Java.Atom`

### accept

@Nullable public <R, EX extends Throwable> R accept(Visitor.RvalueVisitor<R,EX> visitor) throws EX
Description copied from class: `Java.Rvalue`
Invokes the "`visit...()`" method of `Visitor.RvalueVisitor` for the concrete `Java.Rvalue` type.

Specified by:
  `accept` in class `Java.Rvalue`
Throws:
  `EX`