javassist.expr
Class Expr

java.lang.Object
  extended by 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, 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
 CtClass getEnclosingClass()
          Returns the class that declares the method enclosing this expression.
 java.lang.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.
 CtClass[] mayThrow()
          Returns the list of exceptions that the expression may throw.
abstract  void replace(java.lang.String statement)
          Replaces this expression with the bytecode derived from the given source text.
 void replace(java.lang.String statement, ExprEditor recursive)
          Replaces this expression with the bytecode derived from the given source text and ExprEditor.
 CtBehavior where()
          Returns the constructor or method containing the expression.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 CannotCompileException
Replaces this expression with the bytecode derived from the given source text.

Parameters:
statement - a Java statement.
Throws:
CannotCompileException

replace

public void replace(java.lang.String statement,
                    ExprEditor recursive)
             throws CannotCompileException
Replaces this expression with the bytecode derived from the given source text and ExprEditor.

Parameters:
statement - a Java statement.
recursive - if not null, the substituted bytecode is recursively processed by the given ExprEditor.
Throws:
CannotCompileException
Since:
3.1


Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999-2008 Shigeru Chiba. All Rights Reserved.