public abstract class Expr extends Object implements 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
Modifier | Constructor and Description |
---|---|
protected |
Expr(int pos,
CodeIterator i,
CtClass declaring,
MethodInfo m)
Undocumented constructor.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
edited() |
protected ConstPool |
getConstPool() |
CtClass |
getEnclosingClass()
Returns the class that declares the method enclosing
this expression.
|
String |
getFileName()
Returns the source file containing the expression.
|
int |
getLineNumber()
Returns the line number of the source line containing the expression.
|
int |
indexOfBytecode()
Returns the index of the bytecode corresponding to the expression.
|
protected int |
locals() |
CtClass[] |
mayThrow()
Returns the list of exceptions that the expression may throw.
|
abstract void |
replace(String statement)
Replaces this expression with the bytecode derived from
the given source text.
|
void |
replace(String statement,
ExprEditor recursive)
Replaces this expression with the bytecode derived from
the given source text and
ExprEditor . |
protected void |
replace0(int pos,
Bytecode bytecode,
int size) |
protected void |
runEditor(ExprEditor ed,
CodeIterator oldIterator) |
protected int |
stack() |
CtBehavior |
where()
Returns the constructor or method containing the expression.
|
protected boolean |
withinStatic()
Returns true if this method is static.
|
protected Expr(int pos, CodeIterator i, CtClass declaring, MethodInfo m)
public CtClass getEnclosingClass()
protected final ConstPool getConstPool()
protected final boolean edited()
protected final int locals()
protected final int stack()
protected final boolean withinStatic()
public CtBehavior where()
public CtClass[] mayThrow()
public int indexOfBytecode()
public int getLineNumber()
public String getFileName()
public abstract void replace(String statement) throws CannotCompileException
statement
- a Java statement except try-catch.CannotCompileException
public void replace(String statement, ExprEditor recursive) throws CannotCompileException
ExprEditor
.statement
- a Java statement except try-catch.recursive
- if not null, the substituted bytecode
is recursively processed by the given
ExprEditor
.CannotCompileException
protected void replace0(int pos, Bytecode bytecode, int size) throws BadBytecode
BadBytecode
protected void runEditor(ExprEditor ed, CodeIterator oldIterator) throws CannotCompileException
CannotCompileException
Copyright © 2024. All rights reserved.