Package javassist.expr
Class NewExpr
- java.lang.Object
-
- javassist.expr.Expr
-
- javassist.expr.NewExpr
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
NewExpr.ProceedForNew
-
Field Summary
Fields Modifier and Type Field Description (package private) int
newPos
(package private) java.lang.String
newTypeName
-
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
NewExpr(int pos, CodeIterator i, CtClass declaring, MethodInfo m, java.lang.String type, int np)
Undocumented constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private int
canReplace()
java.lang.String
getClassName()
Returns the class name of the created object.CtConstructor
getConstructor()
Returns the constructor called for creating the object.private CtClass
getCtClass()
Returns the class of the created object.java.lang.String
getFileName()
Returns the source file containing the new expression.int
getLineNumber()
Returns the line number of the source line containing the new expression.java.lang.String
getSignature()
Get the signature of the constructor The signature is represented by a character string called method descriptor, which is defined in the JVM specification.CtClass[]
mayThrow()
Returns the list of exceptions that the expression may throw.void
replace(java.lang.String statement)
Replaces the new expression with the bytecode derived from the given source text.CtBehavior
where()
Returns the method or constructor containing the new expression 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
-
NewExpr
protected NewExpr(int pos, CodeIterator i, CtClass declaring, MethodInfo m, java.lang.String type, int np)
Undocumented constructor. Do not use; internal-use only.
-
-
Method Detail
-
where
public CtBehavior where()
Returns the method or constructor containing the new expression represented by this object.
-
getLineNumber
public int getLineNumber()
Returns the line number of the source line containing the new expression.- Overrides:
getLineNumber
in classExpr
- Returns:
- -1 if this information is not available.
-
getFileName
public java.lang.String getFileName()
Returns the source file containing the new expression.- Overrides:
getFileName
in classExpr
- Returns:
- null if this information is not available.
-
getCtClass
private CtClass getCtClass() throws NotFoundException
Returns the class of the created object.- Throws:
NotFoundException
-
getClassName
public java.lang.String getClassName()
Returns the class name of the created object.
-
getSignature
public java.lang.String getSignature()
Get the signature of the constructor The signature is represented by a character string called method descriptor, which is defined in the JVM specification.- Returns:
- the signature
- See Also:
CtBehavior.getSignature()
,Descriptor
-
getConstructor
public CtConstructor getConstructor() throws NotFoundException
Returns the constructor called for creating the object.- Throws:
NotFoundException
-
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.
-
canReplace
private int canReplace() throws CannotCompileException
- Throws:
CannotCompileException
-
replace
public void replace(java.lang.String statement) throws CannotCompileException
Replaces the new expression with the bytecode derived from the given source text.$0 is available but the value is null.
- Specified by:
replace
in classExpr
- Parameters:
statement
- a Java statement except try-catch.- Throws:
CannotCompileException
-
-