Package proguard.classfile.attribute
Class CodeAttribute
- java.lang.Object
-
- proguard.util.SimpleProcessable
-
- proguard.classfile.attribute.Attribute
-
- proguard.classfile.attribute.CodeAttribute
-
- All Implemented Interfaces:
java.io.Serializable,Processable
public class CodeAttribute extends Attribute
ThisAttributerepresents a code attribute.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description Attribute[]attributesbyte[]codeExceptionInfo[]exceptionTableintu2attributesCountintu2exceptionTableLengthintu2maxLocalsintu2maxStackintu4codeLength-
Fields inherited from class proguard.classfile.attribute.Attribute
ANNOTATION_DEFAULT, BOOTSTRAP_METHODS, CHARACTER_RANGE_TABLE, CODE, COMPILATION_I_D, CONSTANT_VALUE, DEPRECATED, ENCLOSING_METHOD, EXCEPTIONS, INNER_CLASSES, LINE_NUMBER_TABLE, LOCAL_VARIABLE_TABLE, LOCAL_VARIABLE_TYPE_TABLE, METHOD_PARAMETERS, MODULE, MODULE_MAIN_CLASS, MODULE_PACKAGES, NEST_HOST, NEST_MEMBERS, PERMITTED_SUBCLASSES, RECORD, RUNTIME_INVISIBLE_ANNOTATIONS, RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS, RUNTIME_INVISIBLE_TYPE_ANNOTATIONS, RUNTIME_VISIBLE_ANNOTATIONS, RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS, RUNTIME_VISIBLE_TYPE_ANNOTATIONS, SIGNATURE, SOURCE_DEBUG_EXTENSION, SOURCE_DIR, SOURCE_FILE, SOURCE_I_D, STACK_MAP, STACK_MAP_TABLE, SYNTHETIC, u2attributeNameIndex
-
Fields inherited from class proguard.util.SimpleProcessable
processingFlags, processingInfo
-
-
Constructor Summary
Constructors Constructor Description CodeAttribute()Creates an uninitialized CodeAttribute.CodeAttribute(int u2attributeNameIndex)Creates a partially initialized CodeAttribute without code, exceptions, or attributes.CodeAttribute(int u2attributeNameIndex, int u2maxStack, int u2maxLocals, int u4codeLength, byte[] code)Creates an initialized CodeAttribute without exceptions or attributes.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Clazz clazz, Method method, AttributeVisitor attributeVisitor)Accepts the given visitor in the context of the given method.voidattributesAccept(Clazz clazz, Method method, AttributeVisitor attributeVisitor)Applies the given attribute visitor to all attributes.voidexceptionsAccept(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.voidexceptionsAccept(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.voidexceptionsAccept(Clazz clazz, Method method, ExceptionInfoVisitor exceptionInfoVisitor)Applies the given exception visitor to all exceptions.AttributegetAttribute(Clazz clazz, java.lang.String name)Returns the (first) attribute with the given name.voidinstructionAccept(Clazz clazz, Method method, int offset, InstructionVisitor instructionVisitor)Applies the given instruction visitor to the instruction at the specified offset.voidinstructionsAccept(Clazz clazz, Method method, int startOffset, int endOffset, InstructionVisitor instructionVisitor)Applies the given instruction visitor to all instructions in the specified range of offsets.voidinstructionsAccept(Clazz clazz, Method method, InstructionVisitor instructionVisitor)Applies the given instruction visitor to all instructions.-
Methods inherited from class proguard.classfile.attribute.Attribute
accept, accept, accept, accept, getAttributeName
-
Methods inherited from class proguard.util.SimpleProcessable
addProcessingFlags, getProcessingFlags, getProcessingInfo, hasProcessingFlags, removeProcessingFlags, setProcessingFlags, setProcessingInfo
-
-
-
-
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)
Creates a partially initialized CodeAttribute without code, exceptions, or attributes.
-
CodeAttribute
public CodeAttribute(int u2attributeNameIndex, int u2maxStack, int u2maxLocals, int u4codeLength, byte[] code)Creates an initialized CodeAttribute without exceptions or attributes.
-
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:AttributeAccepts the given visitor in the context of the given method.
-
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.
-
-