# Interface IMethodInfo

public interface IMethodInfo
Description of a method info as described in the JVM specifications. This interface may be implemented by clients.

Since:
  2.0

## Method Summary

Modifier and Type
Method
Description
`int`
`getAccessFlags()`
Answer back the access flags of this method info as specified in the JVM specifications.
`int`
`getAttributeCount()`
Answer back the attribute number of the method info.
`IClassFileAttribute[]`
`getAttributes()`
Answer back the collection of all attributes of the method info.
`ICodeAttribute`
`getCodeAttribute()`
Answer the code attribute of this method info, null if none or if the decoding flag doesn't include METHOD_BODIES.
`char[]`
`getDescriptor()`
Answer back the method descriptor of this method info as specified in the JVM specifications.
`int`
`getDescriptorIndex()`
Answer back the descriptor index of this method info.
`IExceptionAttribute`
`getExceptionAttribute()`
Answer the exception attribute of this method info, null is none.
`char[]`
`getName()`
Answer back the name of this method info as specified in the JVM specifications.
`int`
`getNameIndex()`
Answer back the name index of this method info.
`boolean`
`isClinit()`
Answer true if this method info represents a <clinit> method, false otherwise.
`boolean`
`isConstructor()`
Answer true if this method info represents a constructor, false otherwise.
`boolean`
`isDeprecated()`
Answer true if this method info has a deprecated attribute, false otherwise.
`boolean`
`isSynthetic()`
Return true if the method info is synthetic according to the JVM specification, false otherwise.

## Method Details

### getDescriptor

char[] getDescriptor()
Answer back the method descriptor of this method info as specified in the JVM specifications.

Returns:
  the method descriptor of this method info as specified in the JVM specifications

### getDescriptorIndex

int getDescriptorIndex()
Answer back the descriptor index of this method info.

Returns:
  the descriptor index of this method info

### getAccessFlags

int getAccessFlags()
Answer back the access flags of this method info as specified in the JVM specifications.

Returns:
  the access flags of this method info as specified in the JVM specifications

### getName

char[] getName()
Answer back the name of this method info as specified in the JVM specifications.

Returns:
  the name of this method info as specified in the JVM specifications

### getNameIndex

int getNameIndex()
Answer back the name index of this method info.

Returns:
  the name index of this method info

### isClinit

boolean isClinit()
Answer true if this method info represents a <clinit> method, false otherwise.

Returns:
  true if this method info represents a <clinit> method, false otherwise

### isConstructor

boolean isConstructor()
Answer true if this method info represents a constructor, false otherwise.

Returns:
  true if this method info represents a constructor, false otherwise

### isSynthetic

boolean isSynthetic()
Return true if the method info is synthetic according to the JVM specification, false otherwise.

Note that prior to JDK 1.5, synthetic fields were always marked using an attribute; with 1.5, synthetic fields can also be marked using the `IModifierConstants.ACC_SYNTHETIC` flag.

Returns:
  true if the method info is synthetic according to the JVM specification, false otherwise

### isDeprecated

boolean isDeprecated()
Answer true if this method info has a deprecated attribute, false otherwise.

Returns:
  true if this method info has a deprecated attribute, false otherwise

### getCodeAttribute

ICodeAttribute getCodeAttribute()
Answer the code attribute of this method info, null if none or if the decoding flag doesn't include METHOD_BODIES.

Returns:
  the code attribute of this method info, null if none or if the decoding flag doesn't include METHOD_BODIES

### getExceptionAttribute

IExceptionAttribute getExceptionAttribute()
Answer the exception attribute of this method info, null is none.

Returns:
  the exception attribute of this method info, null is none

### getAttributeCount

int getAttributeCount()
Answer back the attribute number of the method info. It includes the CodeAttribute if any even if the decoding flags doesn't include METHOD_BODIES.

Returns:
  the attribute number of the method info. It includes the CodeAttribute if any even if the decoding flags doesn't include METHOD_BODIES

### getAttributes

IClassFileAttribute[] getAttributes()
Answer back the collection of all attributes of the method info. It includes SyntheticAttribute, CodeAttributes, etc. It doesn't include the CodeAttribute if the decoding flags doesn't include METHOD_BODIES. Returns an empty collection if none.

Returns:
  the collection of all attributes of the method info. It includes SyntheticAttribute, CodeAttributes, etc. It doesn't include the CodeAttribute if the decoding flags doesn't include METHOD_BODIES. Returns an empty collection if none