janino.net

org.codehaus.janino
Class Java.NewArray

java.lang.Object
  extended by org.codehaus.janino.Java.Located
      extended by org.codehaus.janino.Java.Atom
          extended by org.codehaus.janino.Java.Rvalue
              extended by 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
 Java.Rvalue[] dimExprs
          The sizes of the first dimensions to instantiate.
 int dims
          The count of additional dimensions that the array should have.
 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
Java.NewArray(Location location, Java.Type type, Java.Rvalue[] dimExprs, int dims)
          Create a new array with dimension dimExprs.length + dims e.g. byte[12][][] is created with new NewArray( null, Java.BasicType(NULL, Java.BasicType.BYTE), new Rvalue[] { new Java.Literal(null, Integer.valueOf(12) }, 2 )
 
Method Summary
 void accept(Visitor.AtomVisitor visitor)
          Invokes the 'visit...()' method of Visitor.AtomVisitor for the concrete Java.Atom type.
 void accept(Visitor.ElementValueVisitor visitor)
          Invokes the 'visit...()' method of Visitor.ElementValueVisitor for the concrete Java.ElementValue type.
 void accept(Visitor.RvalueVisitor 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
getEnclosingBlockStatement, setEnclosingBlockStatement, 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 Detail

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 Detail

Java.NewArray

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

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

     new NewArray(
         null,
         Java.BasicType(NULL, Java.BasicType.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 Detail

toString

public String toString()
Specified by:
toString in class Java.Atom

accept

public void accept(Visitor.AtomVisitor visitor)
Description copied from class: Java.Atom
Invokes the 'visit...()' method of Visitor.AtomVisitor for the concrete Java.Atom type.

Specified by:
accept in class Java.Atom

accept

public void accept(Visitor.RvalueVisitor visitor)
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

accept

public void accept(Visitor.ElementValueVisitor visitor)
Description copied from interface: Java.ElementValue
Invokes the 'visit...()' method of Visitor.ElementValueVisitor for the concrete Java.ElementValue type.


janino.net