Package org.eclipse.jdt.core.util

## Interface ICodeAttribute

All Superinterfaces:
  `IClassFileAttribute`

    public interface ICodeAttribute
    extends IClassFileAttribute

Description of a code attribute as described in the JVM specifications. This interface may be implemented by clients.

Since:
  2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`IClassFileAttribute[]` `getAttributes()` Answer back the collection of all attributes of the field info.
`int` `getAttributesCount()` Answer back the attribute number of the code attribute.
`byte[]` `getBytecodes()` Answer back the array of bytes, which represents all the opcodes as described in the JVM specifications.
`long` `getCodeLength()` Answer back the length of the bytecode contents.
`IExceptionTableEntry[]` `getExceptionTable()` Answer back the array of exception entries, if they are present.
`int` `getExceptionTableLength()` Answer back the exception table length of the code attribute.
`ILineNumberAttribute` `getLineNumberAttribute()` Answer back the line number attribute, if it exists, null otherwise.
`ILocalVariableAttribute` `getLocalVariableAttribute()` Answer back the local variable attribute, if it exists, null otherwise.
`int` `getMaxLocals()` Answer back the max locals value of the code attribute.
`int` `getMaxStack()` Answer back the max stack value of the code attribute.
`void` `traverse​(IBytecodeVisitor visitor)` Define a Java opcodes walker.

### Methods inherited from interface org.eclipse.jdt.core.util.IClassFileAttribute

`getAttributeLength, getAttributeName, getAttributeNameIndex`

### Method Detail

#### getMaxLocals

    int getMaxLocals()

Answer back the max locals value of the code attribute.

Returns:
  the max locals value of the code attribute

#### getMaxStack

    int getMaxStack()

Answer back the max stack value of the code attribute.

Returns:
  the max stack value of the code attribute

#### getLineNumberAttribute

    ILineNumberAttribute getLineNumberAttribute()

Answer back the line number attribute, if it exists, null otherwise.

Returns:
  the line number attribute, if it exists, null otherwise

#### getLocalVariableAttribute

    ILocalVariableAttribute getLocalVariableAttribute()

Answer back the local variable attribute, if it exists, null otherwise.

Returns:
  the local variable attribute, if it exists, null otherwise

#### getExceptionTable

    IExceptionTableEntry[] getExceptionTable()

Answer back the array of exception entries, if they are present. An empty array otherwise.

Returns:
  the array of exception entries, if they are present. An empty array otherwise

#### getBytecodes

    byte[] getBytecodes()

Answer back the array of bytes, which represents all the opcodes as described in the JVM specifications.

Returns:
  the array of bytes, which represents all the opcodes as described in the JVM specifications

#### getCodeLength

    long getCodeLength()

Answer back the length of the bytecode contents.

Returns:
  the length of the bytecode contents

#### getAttributesCount

    int getAttributesCount()

Answer back the attribute number of the code attribute.

Returns:
  the attribute number of the code attribute

#### getAttributes

    IClassFileAttribute[] getAttributes()

Answer back the collection of all attributes of the field info. It includes the LineNumberAttribute and the LocalVariableTableAttribute. Returns an empty collection if none.

Returns:
  the collection of all attributes of the field info. It includes the LineNumberAttribute and the LocalVariableTableAttribute. Returns an empty collection if none

#### getExceptionTableLength

    int getExceptionTableLength()

Answer back the exception table length of the code attribute.

Returns:
  the exception table length of the code attribute

#### traverse

    void traverse​(IBytecodeVisitor visitor)
           throws ClassFormatException

Define a Java opcodes walker. All actions are defined in the visitor.

Parameters:
  `visitor` - The visitor to use to walk the opcodes.
Throws:
  `ClassFormatException` - Exception thrown if the opcodes contain invalid bytes