public final class Method_info extends Object implements Cloneable, IAccessFlags
method_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 method or instance initialization method.
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 representing either one of the special internal method names, either
<init> or <clinit>, or a valid Java method name, stored as a simple
(not fully qualified) name.
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 representing a valid Java method descriptor.
Each value of the attributes table must be a variable-length attribute structure.
A method can have any number of optional attributes associated with it. The only
attributes defined by this specification for the attributes table of a method_info
structure are the Code and Exceptions attributes. See CodeAttribute_info
and ExceptionsAttribute_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| 构造器和说明 |
|---|
Method_info(IConstantCollection constants,
UDataInputStream bytes) |
Method_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 method within the context of 'cls'
class definition.
|
String |
getName(ClassDef cls)
Returns the method name within the context of 'cls' class definition.
|
boolean |
isAbstract() |
boolean |
isBridge() |
boolean |
isNative() |
boolean |
isSynthetic() |
void |
setAccessFlags(int flags) |
String |
toString() |
void |
writeInClassFormat(UDataOutputStream out) |
public Method_info(int access_flags,
int name_index,
int descriptor_index,
IAttributeCollection attributes)
public Method_info(IConstantCollection constants, UDataInputStream bytes) throws IOException
IOExceptionpublic String getName(ClassDef cls)
cls - class that contains this methodpublic String getDescriptor(ClassDef cls)
cls - class that contains this methodpublic boolean isNative()
public boolean isAbstract()
public boolean isSynthetic()
public boolean isBridge()
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.