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

Modifier and Type
Method
Description
`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 Details

### 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