Package javassist.expr
Class NewArray
- java.lang.Object
-
- javassist.expr.Expr
-
- javassist.expr.NewArray
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
NewArray.ProceedForArray
-
Field Summary
Fields Modifier and Type Field Description (package private) int
opcode
-
Fields inherited from class javassist.expr.Expr
currentPos, edited, iterator, javaLangObject, maxLocals, maxStack, thisClass, thisMethod
-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
NewArray(int pos, CodeIterator i, CtClass declaring, MethodInfo m, int op)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.(package private) CtClass
getPrimitiveType(int atype)
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.private void
replace2(java.lang.String statement)
CtBehavior
where()
Returns the method or constructor containing the array creation represented by this object.-
Methods inherited from class javassist.expr.Expr
checkResultValue, edited, getConstPool, getEnclosingClass, indexOfBytecode, locals, replace, replace0, runEditor, stack, storeStack, withinStatic
-
-
-
-
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.
-
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
public java.lang.String getFileName()
Returns the source file containing the array creation.- Overrides:
getFileName
in classExpr
- 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.
-
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
-
getPrimitiveType
CtClass getPrimitiveType(int atype)
-
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 classExpr
- Parameters:
statement
- a Java statement except try-catch.- Throws:
CannotCompileException
-
replace2
private void replace2(java.lang.String statement) throws CompileError, NotFoundException, BadBytecode, CannotCompileException
-
-