Package org.codehaus.janino.util
Class ClassFile.MethodInfo
- java.lang.Object
-
- org.codehaus.janino.util.ClassFile.MethodInfo
-
- All Implemented Interfaces:
Annotatable
- Enclosing class:
- ClassFile
public class ClassFile.MethodInfo extends java.lang.Object implements Annotatable
Representation of a "method_info" structure, as defined by JVMS7 4.6.
-
-
Constructor Summary
Constructors Constructor Description MethodInfo(short accessFlags, short nameIndex, short descriptorIndex, java.util.List<ClassFile.AttributeInfo> attributes)
Initializes the "method_info" structure.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAnnotationsAttributeEntry(boolean runtimeVisible, java.lang.String fieldDescriptor, java.util.Map<java.lang.Short,ClassFile.ElementValue> elementValuePairs)
Adds a "Runtime[In]visibleAnnotations" attribute tothis
object (if that annotation does not yet exist) and adds an entry to it.void
addAttribute(ClassFile.AttributeInfo attribute)
Adds the attribute to this method.short
getAccessFlags()
ClassFile.Annotation[]
getAnnotations(boolean runtimeVisible)
ClassFile.AttributeInfo[]
getAttributes()
ClassFile
getClassFile()
java.lang.String
getDescriptor()
java.lang.String
getName()
void
store(java.io.DataOutputStream dos)
Writes this object to aDataOutputStream
, in the format described inJVMS7 4.6.java.lang.String
toString()
-
-
-
Constructor Detail
-
MethodInfo
public MethodInfo(short accessFlags, short nameIndex, short descriptorIndex, java.util.List<ClassFile.AttributeInfo> attributes)
Initializes the "method_info" structure.
-
-
Method Detail
-
getClassFile
public ClassFile getClassFile()
- Returns:
- The
ClassFile
that contains thisClassFile.MethodInfo
object
-
getAccessFlags
public short getAccessFlags()
- Returns:
- The access flags of this method; or'ed values are the constants declared in
Mod
.
-
getAnnotations
public ClassFile.Annotation[] getAnnotations(boolean runtimeVisible)
- Specified by:
getAnnotations
in interfaceAnnotatable
- Returns:
- The annotations of this method
-
getName
public java.lang.String getName()
- Returns:
- The method's name
-
getDescriptor
public java.lang.String getDescriptor()
- Returns:
- The method descriptor describing this method
-
getAttributes
public ClassFile.AttributeInfo[] getAttributes()
- Returns:
- The attributes of this method
-
addAttribute
public void addAttribute(ClassFile.AttributeInfo attribute)
Adds the attribute to this method.
-
addAnnotationsAttributeEntry
public void addAnnotationsAttributeEntry(boolean runtimeVisible, java.lang.String fieldDescriptor, java.util.Map<java.lang.Short,ClassFile.ElementValue> elementValuePairs)
Description copied from interface:Annotatable
Adds a "Runtime[In]visibleAnnotations" attribute tothis
object (if that annotation does not yet exist) and adds an entry to it.- Specified by:
addAnnotationsAttributeEntry
in interfaceAnnotatable
elementValuePairs
- Maps "elemant_name_index" (ClassFile.ConstantUtf8Info
) to "element_value", see JVMS8 4.7.16
-
store
public void store(java.io.DataOutputStream dos) throws java.io.IOException
Writes this object to aDataOutputStream
, in the format described inJVMS7 4.6.- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-