proguard.classfile.attribute
Class CodeAttribute

java.lang.Object
  extended by proguard.classfile.attribute.Attribute
      extended by proguard.classfile.attribute.CodeAttribute
All Implemented Interfaces:
VisitorAccepter

public class CodeAttribute
extends Attribute

This Attribute represents a code attribute.


Field Summary
 Attribute[] attributes
           
 byte[] code
           
 ExceptionInfo[] exceptionTable
           
 int u2attributesCount
           
 int u2exceptionTableLength
           
 int u2maxLocals
           
 int u2maxStack
           
 int u4codeLength
           
 
Fields inherited from class proguard.classfile.attribute.Attribute
u2attributeNameIndex, visitorInfo
 
Constructor Summary
CodeAttribute()
          Creates an uninitialized CodeAttribute.
CodeAttribute(int u2attributeNameIndex, int u2maxStack, int u2maxLocals, int u4codeLength, byte[] code, int u2exceptionTableLength, ExceptionInfo[] exceptionTable, int u2attributesCount, Attribute[] attributes)
          Creates an initialized CodeAttribute.
 
Method Summary
 void accept(Clazz clazz, Method method, AttributeVisitor attributeVisitor)
          Accepts the given visitor in the context of the given method.
 void attributesAccept(Clazz clazz, Method method, AttributeVisitor attributeVisitor)
          Applies the given attribute visitor to all attributes.
 void exceptionsAccept(Clazz clazz, Method method, ExceptionInfoVisitor exceptionInfoVisitor)
          Applies the given exception visitor to all exceptions.
 void exceptionsAccept(Clazz clazz, Method method, int offset, ExceptionInfoVisitor exceptionInfoVisitor)
          Applies the given exception visitor to all exceptions that are applicable to the instruction at the specified offset.
 void exceptionsAccept(Clazz clazz, Method method, int startOffset, int endOffset, ExceptionInfoVisitor exceptionInfoVisitor)
          Applies the given exception visitor to all exceptions that are applicable to any of the instructions in the specified range of offsets.
 Attribute getAttribute(Clazz clazz, java.lang.String name)
          Returns the (first) attribute with the given name.
 void instructionAccept(Clazz clazz, Method method, int offset, InstructionVisitor instructionVisitor)
          Applies the given instruction visitor to the instruction at the specified offset.
 void instructionsAccept(Clazz clazz, Method method, InstructionVisitor instructionVisitor)
          Applies the given instruction visitor to all instructions.
 void instructionsAccept(Clazz clazz, Method method, int startOffset, int endOffset, InstructionVisitor instructionVisitor)
          Applies the given instruction visitor to all instructions in the specified range of offsets.
 
Methods inherited from class proguard.classfile.attribute.Attribute
accept, accept, accept, getAttributeName, getVisitorInfo, setVisitorInfo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

u2maxStack

public int u2maxStack

u2maxLocals

public int u2maxLocals

u4codeLength

public int u4codeLength

code

public byte[] code

u2exceptionTableLength

public int u2exceptionTableLength

exceptionTable

public ExceptionInfo[] exceptionTable

u2attributesCount

public int u2attributesCount

attributes

public Attribute[] attributes
Constructor Detail

CodeAttribute

public CodeAttribute()
Creates an uninitialized CodeAttribute.


CodeAttribute

public CodeAttribute(int u2attributeNameIndex,
                     int u2maxStack,
                     int u2maxLocals,
                     int u4codeLength,
                     byte[] code,
                     int u2exceptionTableLength,
                     ExceptionInfo[] exceptionTable,
                     int u2attributesCount,
                     Attribute[] attributes)
Creates an initialized CodeAttribute.

Method Detail

getAttribute

public Attribute getAttribute(Clazz clazz,
                              java.lang.String name)
Returns the (first) attribute with the given name.


accept

public void accept(Clazz clazz,
                   Method method,
                   AttributeVisitor attributeVisitor)
Description copied from class: Attribute
Accepts the given visitor in the context of the given method.

Overrides:
accept in class Attribute

instructionsAccept

public void instructionsAccept(Clazz clazz,
                               Method method,
                               InstructionVisitor instructionVisitor)
Applies the given instruction visitor to all instructions.


instructionAccept

public void instructionAccept(Clazz clazz,
                              Method method,
                              int offset,
                              InstructionVisitor instructionVisitor)
Applies the given instruction visitor to the instruction at the specified offset.


instructionsAccept

public void instructionsAccept(Clazz clazz,
                               Method method,
                               int startOffset,
                               int endOffset,
                               InstructionVisitor instructionVisitor)
Applies the given instruction visitor to all instructions in the specified range of offsets.


exceptionsAccept

public void exceptionsAccept(Clazz clazz,
                             Method method,
                             ExceptionInfoVisitor exceptionInfoVisitor)
Applies the given exception visitor to all exceptions.


exceptionsAccept

public void exceptionsAccept(Clazz clazz,
                             Method method,
                             int offset,
                             ExceptionInfoVisitor exceptionInfoVisitor)
Applies the given exception visitor to all exceptions that are applicable to the instruction at the specified offset.


exceptionsAccept

public void exceptionsAccept(Clazz clazz,
                             Method method,
                             int startOffset,
                             int endOffset,
                             ExceptionInfoVisitor exceptionInfoVisitor)
Applies the given exception visitor to all exceptions that are applicable to any of the instructions in the specified range of offsets.


attributesAccept

public void attributesAccept(Clazz clazz,
                             Method method,
                             AttributeVisitor attributeVisitor)
Applies the given attribute visitor to all attributes.