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
Expression.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) int
(package private) boolean
(package private) CodeIterator
(package private) static final String
(package private) int
(package private) int
(package private) CtClass
(package private) MethodInfo
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
ConstructorsModifierConstructorDescriptionprotected
Expr
(int pos, CodeIterator i, CtClass declaring, MethodInfo m) Undocumented constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
(package private) static final boolean
checkResultValue
(CtClass retType, String prog) protected final boolean
edited()
protected final ConstPool
Returns the class that declares the method enclosing this expression.Returns the source file containing the expression.int
Returns the line number of the source line containing the expression.int
Returns the index of the bytecode corresponding to the expression.protected final int
locals()
CtClass[]
mayThrow()
Returns the list of exceptions that the expression may throw.abstract void
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 andExprEditor
.protected void
protected void
runEditor
(ExprEditor ed, CodeIterator oldIterator) protected final int
stack()
(package private) static final void
storeStack
(CtClass[] params, boolean isStaticCall, int regno, Bytecode bytecode) private static void
storeStack0
(int i, int n, CtClass[] params, int regno, Bytecode bytecode) where()
Returns the constructor or method containing the expression.protected final boolean
Returns true if this method is static.
-
Field Details
-
currentPos
int currentPos -
iterator
CodeIterator iterator -
thisClass
CtClass thisClass -
thisMethod
MethodInfo thisMethod -
edited
boolean edited -
maxLocals
int maxLocals -
maxStack
int maxStack -
javaLangObject
- See Also:
-
-
Constructor Details
-
Expr
Undocumented constructor. Do not use; internal-use only.
-
-
Method Details
-
getEnclosingClass
Returns the class that declares the method enclosing this expression.- Since:
- 3.7
-
getConstPool
-
edited
protected final boolean edited() -
locals
protected final int locals() -
stack
protected final int stack() -
withinStatic
protected final boolean withinStatic()Returns true if this method is static. -
where
Returns the constructor or method containing the expression. -
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. -
addClass
-
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
Returns the source file containing the expression.- Returns:
- null if this information is not available.
-
checkResultValue
- Throws:
CannotCompileException
-
storeStack
-
storeStack0
-
replace
Replaces this expression with the bytecode derived from the given source text.- Parameters:
statement
- a Java statement except try-catch.- Throws:
CannotCompileException
-
replace
Replaces 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
-
replace0
- Throws:
BadBytecode
-
runEditor
- Throws:
CannotCompileException
-