org.eclipse.jdt.internal.compiler.classfmt
Class MethodInfo

java.lang.Object
  extended by org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct
      extended by org.eclipse.jdt.internal.compiler.classfmt.MethodInfo
All Implemented Interfaces:
java.lang.Comparable, IBinaryMethod, IGenericMethod
Direct Known Subclasses:
AnnotationMethodInfo, MethodInfoWithAnnotations

public class MethodInfo
extends ClassFileStruct
implements IBinaryMethod, java.lang.Comparable


Method Summary
 int compareTo(java.lang.Object o)
           
static MethodInfo createMethod(byte[] classFileBytes, int[] offsets, int offset)
           
 boolean equals(java.lang.Object o)
           
 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 signature which describes the parameter & return types as specified in section 4.4.4 of the Java 2 VM spec.
 char[] getMethodDescriptor()
          Answer the receiver's method descriptor which describes the parameter & return types as specified in section 4.3.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)
          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.
 int hashCode()
           
 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()
           
 
Methods inherited from class org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct
doubleAt, floatAt, i4At, i8At, u1At, u2At, u4At, utf8At
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

createMethod

public static MethodInfo createMethod(byte[] classFileBytes,
                                      int[] offsets,
                                      int offset)

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getAnnotations

public IBinaryAnnotation[] getAnnotations()
Description copied from interface: IBinaryMethod
Answer the runtime visible and invisible annotations for this method or null if none.

Specified by:
getAnnotations in interface IBinaryMethod
Returns:
the annotations or null if there is none.

getArgumentNames

public char[][] getArgumentNames()
Description copied from interface: IGenericMethod
Answer the names of the argument or null if the argument names are not available.

Specified by:
getArgumentNames in interface IGenericMethod
See Also:
IGenericMethod.getArgumentNames()

getDefaultValue

public java.lang.Object getDefaultValue()
Description copied from interface: IBinaryMethod
Return ClassSignature 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.

Specified by:
getDefaultValue in interface IBinaryMethod
Returns:
default value of this annotation method

getExceptionTypeNames

public 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. For example, java.lang.String is java/lang/String.

Specified by:
getExceptionTypeNames in interface IBinaryMethod
Returns:
char[][]

getGenericSignature

public char[] getGenericSignature()
Description copied from interface: IBinaryMethod
Answer the receiver's signature which describes the parameter & return types as specified in section 4.4.4 of the Java 2 VM spec.

Specified by:
getGenericSignature in interface IBinaryMethod

getMethodDescriptor

public char[] getMethodDescriptor()
Answer the receiver's method descriptor which describes the parameter & return types as specified in section 4.3.3 of the Java 2 VM spec. For example: - int foo(String) is (Ljava/lang/String;)I - void foo(Object[]) is (I)[Ljava/lang/Object;

Specified by:
getMethodDescriptor in interface IBinaryMethod
Returns:
char[]

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:
getModifiers in interface IGenericMethod
Returns:
int

getParameterAnnotations

public IBinaryAnnotation[] getParameterAnnotations(int index)
Description copied from interface: IBinaryMethod
Answer the annotations on the indexth parameter or null if none

Specified by:
getParameterAnnotations in interface IBinaryMethod
Parameters:
index - the index of the parameter of interest

getSelector

public char[] getSelector()
Answer the name of the method. For a constructor, answer & for a clinit method.

Specified by:
getSelector in interface IBinaryMethod
Returns:
char[]

getTagBits

public long getTagBits()
Description copied from interface: IBinaryMethod
Answer the tagbits set according to the bits for annotations.

Specified by:
getTagBits in interface IBinaryMethod

isClinit

public boolean isClinit()
Answer true if the method is a class initializer, false otherwise.

Specified by:
isClinit in interface IBinaryMethod
Returns:
boolean

isConstructor

public boolean isConstructor()
Answer true if the method is a constructor, false otherwise.

Specified by:
isConstructor in interface IGenericMethod
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

public java.lang.String toString()
Overrides:
toString in class java.lang.Object