public class MethodInfo extends ClassFileStruct implements IBinaryMethod, java.lang.Comparable
| Modifier and Type | Field and Description |
|---|---|
protected int |
accessFlags |
protected char[][] |
argumentNames |
protected int |
attributeBytes |
protected char[] |
descriptor |
protected char[][] |
exceptionNames |
protected char[] |
name |
protected char[] |
signature |
protected int |
signatureUtf8Offset |
protected long |
tagBits |
protected long |
version |
| Modifier | Constructor and Description |
|---|---|
protected |
MethodInfo(byte[] classFileBytes,
int[] offsets,
int offset,
long version) |
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(java.lang.Object o) |
static MethodInfo |
createMethod(byte[] classFileBytes,
int[] offsets,
int offset,
long version) |
boolean |
equals(java.lang.Object o) |
int |
getAnnotatedParametersCount()
Answer the number of parameter annotations that can be retrieved
using
IBinaryMethod.getParameterAnnotations(int, char[]). |
IBinaryAnnotation[] |
getAnnotations()
Answer the runtime visible and invisible annotations for this method or null if none.
|
char[][] |
getArgumentNames()
Answer the names of the argument
or null if the argument names are not available.
|
java.lang.Object |
getDefaultValue()
Return
ClassSignature for a Class Class. |
char[][] |
getExceptionTypeNames()
Answer the resolved names of the exception types in the
class file format as specified in section 4.2 of the Java 2 VM spec
or null if the array is empty.
|
char[] |
getGenericSignature()
Answer the receiver's MethodSignature, which describes the type parameters,
parameter types, return type, and exception types
as specified in "4.7.9.1 Signatures" of the Java SE 8 VM spec.
|
char[] |
getMethodDescriptor()
Answer the receiver's method descriptor which describes the parameter &
return types as specified in section 4.4.3 of the Java 2 VM spec.
|
int |
getModifiers()
Answer an int whose bits are set according the access constants
defined by the VM spec.
|
IBinaryAnnotation[] |
getParameterAnnotations(int index,
char[] classFileName)
Answer the annotations on the
indexth parameter or null if none |
char[] |
getSelector()
Answer the name of the method.
|
long |
getTagBits()
Answer the tagbits set according to the bits for annotations.
|
IBinaryTypeAnnotation[] |
getTypeAnnotations()
Answer the type annotations on this method.
|
int |
hashCode() |
protected void |
initialize()
This method is used to fully initialize the contents of the receiver.
|
boolean |
isClinit()
Answer true if the method is a class initializer, false otherwise.
|
boolean |
isConstructor()
Answer true if the method is a constructor, false otherwise.
|
boolean |
isSynthetic()
Return true if the field is a synthetic method, false otherwise.
|
int |
sizeInBytes()
Answer the size of the receiver in bytes.
|
java.lang.String |
toString() |
protected void |
toStringContent(java.lang.StringBuffer buffer) |
protected int accessFlags
protected int attributeBytes
protected char[] descriptor
protected volatile char[][] exceptionNames
protected char[] name
protected char[] signature
protected int signatureUtf8Offset
protected long tagBits
protected volatile char[][] argumentNames
protected long version
protected MethodInfo(byte[] classFileBytes,
int[] offsets,
int offset,
long version)
classFileBytes - byte[]offsets - int[]offset - intversion - class file versionpublic static MethodInfo createMethod(byte[] classFileBytes, int[] offsets, int offset, long version)
public int compareTo(java.lang.Object o)
compareTo in interface java.lang.Comparablepublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic IBinaryAnnotation[] getAnnotations()
IBinaryMethodgetAnnotations in interface IBinaryMethodpublic char[][] getArgumentNames()
IGenericMethodgetArgumentNames in interface IGenericMethodIGenericMethod.getArgumentNames()public java.lang.Object getDefaultValue()
IBinaryMethodClassSignature for a Class Class.
Return Constant for compile-time constant of primitive type, as well as String literals.
Return EnumConstantSignature if value is an enum constant.
Return IBinaryAnnotation for annotation type.
Return Object[] for array type.getDefaultValue in interface IBinaryMethodpublic char[][] getExceptionTypeNames()
IBinaryMethodgetExceptionTypeNames in interface IBinaryMethodpublic char[] getGenericSignature()
IBinaryMethodgetGenericSignature in interface IBinaryMethodpublic char[] getMethodDescriptor()
IBinaryMethodgetMethodDescriptor in interface IBinaryMethodpublic int getModifiers()
getModifiers in interface IGenericMethodpublic IBinaryAnnotation[] getParameterAnnotations(int index, char[] classFileName)
IBinaryMethodindexth parameter or null if nonegetParameterAnnotations in interface IBinaryMethodindex - the index of the parameter of interestclassFileName - (file) name of the declaring class for error reportingpublic int getAnnotatedParametersCount()
IBinaryMethodIBinaryMethod.getParameterAnnotations(int, char[]).getAnnotatedParametersCount in interface IBinaryMethodIBinaryMethod.getParameterAnnotations(int, char[]).public IBinaryTypeAnnotation[] getTypeAnnotations()
IBinaryMethodgetTypeAnnotations in interface IBinaryMethodpublic char[] getSelector()
IBinaryMethodgetSelector in interface IBinaryMethodpublic long getTagBits()
IBinaryMethodgetTagBits in interface IBinaryMethodprotected void initialize()
public boolean isClinit()
isClinit in interface IBinaryMethodpublic boolean isConstructor()
isConstructor in interface IGenericMethodpublic boolean isSynthetic()
public int sizeInBytes()
public java.lang.String toString()
toString in class java.lang.Objectprotected void toStringContent(java.lang.StringBuffer buffer)