javassist.expr
Class NewArray

java.lang.Object
  extended by javassist.expr.Expr
      extended by javassist.expr.NewArray
All Implemented Interfaces:
Opcode

public class NewArray
extends Expr

Array creation.

This class does not provide methods for obtaining the initial values of array elements.


Field Summary
 
Fields inherited from interface javassist.bytecode.Opcode
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, STACK_GROW, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, WIDE
 
Constructor Summary
protected NewArray(int pos, CodeIterator i, CtClass declaring, MethodInfo m, int op)
           
 
Method Summary
 CtClass getComponentType()
          Returns the type of array components.
 int getCreatedDimensions()
          Returns the number of dimensions of arrays to be created.
 int getDimension()
          Returns the dimension of the created array.
 java.lang.String getFileName()
          Returns the source file containing the array creation.
 int getLineNumber()
          Returns the line number of the source line containing the array creation.
 CtClass[] mayThrow()
          Returns the list of exceptions that the expression may throw.
 void replace(java.lang.String statement)
          Replaces the array creation with the bytecode derived from the given source text.
 CtBehavior where()
          Returns the method or constructor containing the array creation represented by this object.
 
Methods inherited from class javassist.expr.Expr
edited, getConstPool, getEnclosingClass, indexOfBytecode, locals, replace, replace0, runEditor, stack, withinStatic
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NewArray

protected NewArray(int pos,
                   CodeIterator i,
                   CtClass declaring,
                   MethodInfo m,
                   int op)
Method Detail

where

public CtBehavior where()
Returns the method or constructor containing the array creation represented by this object.

Overrides:
where in class Expr

getLineNumber

public int getLineNumber()
Returns the line number of the source line containing the array creation.

Overrides:
getLineNumber in class Expr
Returns:
-1 if this information is not available.

getFileName

public java.lang.String getFileName()
Returns the source file containing the array creation.

Overrides:
getFileName in class Expr
Returns:
null if this information is not available.

mayThrow

public CtClass[] mayThrow()
Returns the list of exceptions that the expression may throw. This list includes both the exceptions that the try-catch statements including the expression can catch and the exceptions that the throws declaration allows the method to throw.

Overrides:
mayThrow in class Expr

getComponentType

public CtClass getComponentType()
                         throws NotFoundException
Returns the type of array components. If the created array is a two-dimensional array of int, the type returned by this method is not int[] but int.

Throws:
NotFoundException

getDimension

public int getDimension()
Returns the dimension of the created array.


getCreatedDimensions

public int getCreatedDimensions()
Returns the number of dimensions of arrays to be created. If the opcode is multianewarray, this method returns the second operand. Otherwise, it returns 1.


replace

public void replace(java.lang.String statement)
             throws CannotCompileException
Replaces the array creation with the bytecode derived from the given source text.

$0 is available even if the called method is static. If the field access is writing, $_ is available but the value of $_ is ignored.

Specified by:
replace in class Expr
Parameters:
statement - a Java statement.
Throws:
CannotCompileException


Copyright © 2011. All Rights Reserved.