Package javassist.expr
Class FieldAccess
- java.lang.Object
-
- javassist.expr.Expr
-
- javassist.expr.FieldAccess
-
-
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 Concrete Methods Modifier and Type Method Description java.lang.String
getClassName()
Returns the name of the class in which the field is declared.CtField
getField()
Returns the field accessed by this expression.java.lang.String
getFieldName()
Returns the name of the field.java.lang.String
getFileName()
Returns the source file containing the field access.int
getLineNumber()
Returns the line number of the source line containing the field access.java.lang.String
getSignature()
Returns the signature of the field type.boolean
isReader()
Returns true if the field is read.boolean
isStatic()
Returns true if the field is static.boolean
isWriter()
Returns true if the field is written in.CtClass[]
mayThrow()
Returns the list of exceptions that the expression may throw.void
replace(java.lang.String statement)
Replaces the method call with the bytecode derived from the given source text.CtBehavior
where()
Returns the method or constructor containing the field-access expression represented by this object.-
Methods inherited from class javassist.expr.Expr
getEnclosingClass, indexOfBytecode, replace
-
-
-
-
Method Detail
-
where
public CtBehavior where()
Returns the method or constructor containing the field-access expression represented by this object.
-
getLineNumber
public int getLineNumber()
Returns the line number of the source line containing the field access.- Overrides:
getLineNumber
in classExpr
- Returns:
- -1 if this information is not available.
-
getFileName
public java.lang.String getFileName()
Returns the source file containing the field access.- Overrides:
getFileName
in classExpr
- Returns:
- null if this information is not available.
-
isStatic
public boolean isStatic()
Returns true if the field is static.
-
isReader
public boolean isReader()
Returns true if the field is read.
-
isWriter
public boolean isWriter()
Returns true if the field is written in.
-
getClassName
public java.lang.String getClassName()
Returns the name of the class in which the field is declared.
-
getFieldName
public java.lang.String getFieldName()
Returns the name of the field.
-
getField
public CtField getField() throws NotFoundException
Returns the field accessed by this expression.- Throws:
NotFoundException
-
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.
-
getSignature
public java.lang.String getSignature()
Returns the signature of the field type. The signature is represented by a character string called field descriptor, which is defined in the JVM specification.- Since:
- 3.1
- See Also:
Descriptor.toCtClass(String, ClassPool)
-
replace
public void replace(java.lang.String statement) throws CannotCompileException
Replaces the method call with the bytecode derived from the given source text.$0 is available even if the called method is static. If the field access is writing, $_ is available but the value of $_ is ignored.
- Specified by:
replace
in classExpr
- Parameters:
statement
- a Java statement except try-catch.- Throws:
CannotCompileException
-
-