Package javassist.expr
Class FieldAccess
java.lang.Object
javassist.expr.Expr
javassist.expr.FieldAccess
- All Implemented Interfaces:
Opcode
Expression for accessing a field.
-
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
Modifier and TypeMethodDescriptionReturns the name of the class in which the field is declared.getField()
Returns the field accessed by this expression.Returns the name of the field.Returns the source file containing the field access.int
Returns the line number of the source line containing the field access.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
Replaces the method call with the bytecode derived from the given source text.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 Details
-
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
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
Returns the name of the class in which the field is declared. -
getFieldName
Returns the name of the field. -
getField
Returns the field accessed by this expression.- Throws:
NotFoundException
-
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
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:
-
replace
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
-