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
ThisAttribute
represents a code attribute.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description Attribute[]
attributes
byte[]
code
ExceptionInfo[]
exceptionTable
int
u2attributesCount
int
u2exceptionTableLength
int
u2maxLocals
int
u2maxStack
int
u4codeLength
-
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 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, 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.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, ExceptionInfoVisitor exceptionInfoVisitor)
Applies the given exception visitor to all exceptions.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, int startOffset, int endOffset, InstructionVisitor instructionVisitor)
Applies the given instruction visitor to all instructions in the specified range of offsets.void
instructionsAccept(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:Attribute
Accepts 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.
-
-