public final class Field_info extends Object implements Cloneable, IAccessFlags
field_info {
u2 access_flags;
u2 name_index;
u2 descriptor_index;
u2 attributes_count;
attribute_info attributes[attributes_count];
}
The value of the access_flags item is a mask of modifiers used to describe
access permission to and properties of a field.
The value of the name_index item must be a valid index into the constant pool
table. The constant pool entry at that index must be a CONSTANT_Utf8_info
structure which must represent a valid Java field name stored as a simple (not
fully qualified) name, that is, as a Java identifier.
The value of the descriptor_index item must be a valid index into the constant
pool table. The constant pool entry at that index must be a
CONSTANT_Utf8_info structure which must represent a valid Java field
descriptor.
Each value of the attributes table must be a variable-length attribute structure.
A field can have any number of attributes associated with it. The only attribute
defined for the attributes table of a field_info structure at the moment
is the ConstantValue attribute -- see ConstantValueAttribute_info.
| 限定符和类型 | 字段和说明 |
|---|---|
int |
m_descriptor_index |
int |
m_name_index |
ACC_ABSTRACT, ACC_BRIDGE, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ALL_ACC, ALL_ACC_NAMES| 构造器和说明 |
|---|
Field_info(IConstantCollection constants,
UDataInputStream bytes) |
Field_info(int access_flags,
int name_index,
int descriptor_index,
IAttributeCollection attributes) |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
clone()
Performs a deep copy.
|
int |
getAccessFlags() |
IAttributeCollection |
getAttributes() |
String |
getDescriptor(ClassDef cls)
Returns the descriptor string for this field within the context of 'cls'
class definition.
|
String |
getName(ClassDef cls)
Returns the field name within the context of 'cls' class definition.
|
boolean |
isSynthetic() |
void |
setAccessFlags(int flags) |
String |
toString() |
void |
writeInClassFormat(UDataOutputStream out) |
public Field_info(int access_flags,
int name_index,
int descriptor_index,
IAttributeCollection attributes)
public Field_info(IConstantCollection constants, UDataInputStream bytes) throws IOException
IOExceptionpublic String getName(ClassDef cls)
cls - class that contains this fieldpublic String getDescriptor(ClassDef cls)
cls - class that contains this fieldpublic boolean isSynthetic()
public final void setAccessFlags(int flags)
setAccessFlags 在接口中 IAccessFlagspublic final int getAccessFlags()
getAccessFlags 在接口中 IAccessFlagspublic IAttributeCollection getAttributes()
public void writeInClassFormat(UDataOutputStream out) throws IOException
IOExceptionCopyright © 2018. All rights reserved.