Package javassist.expr
Class FieldAccess
java.lang.Object
javassist.expr.Expr
javassist.expr.FieldAccess
- All Implemented Interfaces:
Opcode
Expression for accessing a field.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) static class
-
Field Summary
FieldsFields inherited from class javassist.expr.Expr
currentPos, edited, iterator, javaLangObject, maxLocals, maxStack, thisClass, thisMethod
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
FieldAccess
(int pos, CodeIterator i, CtClass declaring, MethodInfo m, int op) -
Method Summary
Modifier and TypeMethodDescriptionReturns the name of the class in which the field is declared.private CtClass
Returns 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.(package private) static boolean
isStatic
(int c) 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
checkResultValue, edited, getConstPool, getEnclosingClass, indexOfBytecode, locals, replace, replace0, runEditor, stack, storeStack, withinStatic
-
Field Details
-
opcode
int opcode
-
-
Constructor Details
-
FieldAccess
-
-
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. -
isStatic
static boolean isStatic(int c) -
isReader
public boolean isReader()Returns true if the field is read. -
isWriter
public boolean isWriter()Returns true if the field is written in. -
getCtClass
Returns the class in which the field is declared.- Throws:
NotFoundException
-
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
-