Package javassist.expr
Class Expr
- java.lang.Object
-
- javassist.expr.Expr
-
- All Implemented Interfaces:
Opcode
- Direct Known Subclasses:
Cast,FieldAccess,Handler,Instanceof,MethodCall,NewArray,NewExpr
public abstract class Expr extends java.lang.Object implements Opcode
Expression.
-
-
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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description CtClassgetEnclosingClass()Returns the class that declares the method enclosing this expression.java.lang.StringgetFileName()Returns the source file containing the expression.intgetLineNumber()Returns the line number of the source line containing the expression.intindexOfBytecode()Returns the index of the bytecode corresponding to the expression.CtClass[]mayThrow()Returns the list of exceptions that the expression may throw.abstract voidreplace(java.lang.String statement)Replaces this expression with the bytecode derived from the given source text.voidreplace(java.lang.String statement, ExprEditor recursive)Replaces this expression with the bytecode derived from the given source text andExprEditor.CtBehaviorwhere()Returns the constructor or method containing the expression.
-
-
-
Method Detail
-
getEnclosingClass
public CtClass getEnclosingClass()
Returns the class that declares the method enclosing this expression.- Since:
- 3.7
-
where
public CtBehavior where()
Returns the constructor or method containing the expression.
-
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.
-
indexOfBytecode
public int indexOfBytecode()
Returns the index of the bytecode corresponding to the expression. It is the index into the byte array containing the Java bytecode that implements the method.
-
getLineNumber
public int getLineNumber()
Returns the line number of the source line containing the expression.- Returns:
- -1 if this information is not available.
-
getFileName
public java.lang.String getFileName()
Returns the source file containing the expression.- Returns:
- null if this information is not available.
-
replace
public abstract void replace(java.lang.String statement) throws CannotCompileExceptionReplaces this expression with the bytecode derived from the given source text.- Parameters:
statement- a Java statement except try-catch.- Throws:
CannotCompileException
-
replace
public void replace(java.lang.String statement, ExprEditor recursive) throws CannotCompileExceptionReplaces this expression with the bytecode derived from the given source text andExprEditor.- Parameters:
statement- a Java statement except try-catch.recursive- if not null, the substituted bytecode is recursively processed by the givenExprEditor.- Throws:
CannotCompileException- Since:
- 3.1
-
-