Class MethodInfo
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct
org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
- All Implemented Interfaces:
Comparable,IBinaryInfo,IBinaryMethod,IElementInfo,IGenericMethod
- Direct Known Subclasses:
AnnotationMethodInfo,MethodInfoWithAnnotations
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected char[][]protected intprotected char[]protected char[][]protected char[]protected char[]protected intprotected longprotected long -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMethodInfo(byte[] classFileBytes, int[] offsets, int offset, long version) -
Method Summary
Modifier and TypeMethodDescriptionintstatic MethodInfocreateMethod(byte[] classFileBytes, int[] offsets, int offset, long version) booleanintAnswer the number of parameter annotations that can be retrieved usingIBinaryMethod.getParameterAnnotations(int, char[]).Answer the runtime visible and invisible annotations for this method or null if none.char[][]Answer the names of the argument or null if the argument names are not available.ReturnClassSignaturefor a ClassClass.char[][]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[]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[]Answer the receiver's method descriptor which describes the parameter and return types as specified in section 4.4.3 of the Java 2 VM spec.intAnswer an int whose bits are set according the access constants defined by the VM spec.getParameterAnnotations(int index, char[] classFileName) Answer the annotations on theindexth parameter or null if nonechar[]Answer the name of the method.longAnswer the tagbits set according to the bits for annotations.Answer the type annotations on this method.inthashCode()protected voidThis method is used to fully initialize the contents of the receiver.booleanisClinit()Answer true if the method is a class initializer, false otherwise.booleanAnswer true if the method is a constructor, false otherwise.booleanReturn true if the field is a synthetic method, false otherwise.intAnswer the size of the receiver in bytes.toString()protected voidtoStringContent(StringBuilder buffer) Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct
doubleAt, floatAt, i4At, i8At, reset, u1At, u2At, u4At, utf8AtMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryMethod
getParameterCount
-
Field Details
-
accessFlags
protected int accessFlags -
attributeBytes
protected int attributeBytes -
descriptor
protected char[] descriptor -
exceptionNames
protected volatile char[][] exceptionNames -
name
protected char[] name -
signature
protected char[] signature -
signatureUtf8Offset
protected int signatureUtf8Offset -
tagBits
protected long tagBits -
argumentNames
protected volatile char[][] argumentNames -
version
protected long version
-
-
Constructor Details
-
MethodInfo
protected MethodInfo(byte[] classFileBytes, int[] offsets, int offset, long version) - Parameters:
classFileBytes- byte[]offsets- int[]offset- intversion- class file version
-
-
Method Details
-
createMethod
public static MethodInfo createMethod(byte[] classFileBytes, int[] offsets, int offset, long version) -
compareTo
- Specified by:
compareToin interfaceComparable
-
equals
-
hashCode
-
getAnnotations
Description copied from interface:IBinaryMethodAnswer the runtime visible and invisible annotations for this method or null if none.- Specified by:
getAnnotationsin interfaceIBinaryMethod
-
getArgumentNames
public char[][] getArgumentNames()Description copied from interface:IGenericMethodAnswer the names of the argument or null if the argument names are not available.- Specified by:
getArgumentNamesin interfaceIGenericMethod- See Also:
-
getDefaultValue
Description copied from interface:IBinaryMethodReturnClassSignaturefor a ClassClass. ReturnConstantfor compile-time constant of primitive type, as well as String literals. ReturnEnumConstantSignatureif value is an enum constant. ReturnIBinaryAnnotationfor annotation type. ReturnObject[] for array type.- Specified by:
getDefaultValuein interfaceIBinaryMethod- Returns:
- default value of this annotation method
-
getExceptionTypeNames
public char[][] getExceptionTypeNames()Description copied from interface:IBinaryMethodAnswer 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. For example, java.lang.String is java/lang/String.- Specified by:
getExceptionTypeNamesin interfaceIBinaryMethod
-
getGenericSignature
public char[] getGenericSignature()Description copied from interface:IBinaryMethodAnswer 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.- Specified by:
getGenericSignaturein interfaceIBinaryMethod
-
getMethodDescriptor
public char[] getMethodDescriptor()Description copied from interface:IBinaryMethodAnswer the receiver's method descriptor which describes the parameter and return types as specified in section 4.4.3 of the Java 2 VM spec. For example:- int foo(String) is (Ljava/lang/String;)I - Object[] foo(int) is (I)[Ljava/lang/Object;
- Specified by:
getMethodDescriptorin interfaceIBinaryMethod
-
getModifiers
public int getModifiers()Answer an int whose bits are set according the access constants defined by the VM spec. Set the AccDeprecated and AccSynthetic bits if necessary- Specified by:
getModifiersin interfaceIGenericMethod- Returns:
- int
-
getParameterAnnotations
Description copied from interface:IBinaryMethodAnswer the annotations on theindexth parameter or null if none- Specified by:
getParameterAnnotationsin interfaceIBinaryMethod- Parameters:
index- the index of the parameter of interestclassFileName- (file) name of the declaring class for error reporting
-
getAnnotatedParametersCount
public int getAnnotatedParametersCount()Description copied from interface:IBinaryMethodAnswer the number of parameter annotations that can be retrieved usingIBinaryMethod.getParameterAnnotations(int, char[]).- Specified by:
getAnnotatedParametersCountin interfaceIBinaryMethod- Returns:
- one beyond the highest legal argument to
IBinaryMethod.getParameterAnnotations(int, char[]).
-
getTypeAnnotations
Description copied from interface:IBinaryMethodAnswer the type annotations on this method.- Specified by:
getTypeAnnotationsin interfaceIBinaryMethod
-
getSelector
public char[] getSelector()Description copied from interface:IBinaryMethodAnswer the name of the method. For a constructor, answer<init> & <clinit>for a clinit method.- Specified by:
getSelectorin interfaceIBinaryMethod
-
getTagBits
public long getTagBits()Description copied from interface:IBinaryMethodAnswer the tagbits set according to the bits for annotations.- Specified by:
getTagBitsin interfaceIBinaryMethod
-
initialize
protected void initialize()This method is used to fully initialize the contents of the receiver. All methodinfos, fields infos will be therefore fully initialized and we can get rid of the bytes. -
isClinit
public boolean isClinit()Answer true if the method is a class initializer, false otherwise.- Specified by:
isClinitin interfaceIBinaryMethod- Returns:
- boolean
-
isConstructor
public boolean isConstructor()Answer true if the method is a constructor, false otherwise.- Specified by:
isConstructorin interfaceIGenericMethod- Returns:
- boolean
-
isSynthetic
public boolean isSynthetic()Return true if the field is a synthetic method, false otherwise.- Returns:
- boolean
-
sizeInBytes
public int sizeInBytes()Answer the size of the receiver in bytes.- Returns:
- int
-
toString
-
toStringContent
-