Package javassist.expr
Class NewArray
java.lang.Object
javassist.expr.Expr
javassist.expr.NewArray
- All Implemented Interfaces:
Opcode
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, INVOKEDYNAMIC, 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
-
Method Summary
Modifier and TypeMethodDescriptionReturns the type of array components.int
Returns the number of dimensions of arrays to be created.int
Returns the dimension of the created array.Returns the source file containing the array creation.int
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
Replaces the array creation with the bytecode derived from the given source text.where()
Returns the method or constructor containing the array creation represented by this object.Methods inherited from class javassist.expr.Expr
getEnclosingClass, indexOfBytecode, replace
-
Method Details
-
where
Returns the method or constructor containing the array creation represented by this object. -
getLineNumber
public int getLineNumber()Returns the line number of the source line containing the array creation.- Overrides:
getLineNumber
in classExpr
- Returns:
- -1 if this information is not available.
-
getFileName
Returns the source file containing the array creation.- Overrides:
getFileName
in classExpr
- Returns:
- null if this information is not available.
-
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. -
getComponentType
Returns the type of array components. If the created array is a two-dimensional array ofint
, the type returned by this method is notint[]
butint
.- 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
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 classExpr
- Parameters:
statement
- a Java statement except try-catch.- Throws:
CannotCompileException
-