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
 
Constructor Summary
protected Expr(int pos, CodeIterator i, CtClass declaring, MethodInfo m)
          Undocumented constructor.
 
Method Summary
protected  boolean edited()
           
protected  ConstPool getConstPool()
           
 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.
protected  int locals()
           
 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.
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Expr

protected Expr(int pos,
               CodeIterator i,
               CtClass declaring,
               MethodInfo m)
Undocumented constructor. Do not use; internal-use only.

Method Detail

getEnclosingClass

public CtClass getEnclosingClass()
Returns the class that declares the method enclosing this expression.

Since:
3.7

getConstPool

protected final ConstPool 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

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

replace0

protected void replace0(int pos,
                        Bytecode bytecode,
                        int size)
                 throws BadBytecode
Throws:
BadBytecode

runEditor

protected void runEditor(ExprEditor ed,
                         CodeIterator oldIterator)
                  throws CannotCompileException
Throws:
CannotCompileException


Copyright © 2011. All Rights Reserved.