|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectproguard.classfile.util.SimplifiedVisitor
proguard.classfile.editor.CodeAttributeComposer
public class CodeAttributeComposer
This AttributeVisitor accumulates instructions and exceptions, and then copies them into code attributes that it visits.
| Constructor Summary | |
|---|---|
CodeAttributeComposer()
Creates a new CodeAttributeComposer that doesn't allow external exception handlers. |
|
CodeAttributeComposer(boolean allowExternalExceptionHandlers)
Creates a new CodeAttributeComposer that optionally allows external exception handlers. |
|
| Method Summary | |
|---|---|
void |
appendException(ExceptionInfo exceptionInfo)
Appends the given exception to the exception table. |
void |
appendInstruction(int oldInstructionOffset,
Instruction instruction)
Appends the given instruction with the given old offset. |
void |
appendLabel(int oldInstructionOffset)
Appends the given label with the given old offset. |
void |
beginCodeFragment(int maximumCodeFragmentLength)
Starts a new code fragment. |
void |
endCodeFragment()
Wraps up the current code fragment, continuing with the previous one on the stack. |
static void |
main(java.lang.String[] args)
|
void |
reset()
Starts a new code definition. |
void |
visitAnyAttribute(Clazz clazz,
Attribute attribute)
Visit any type of attribute. |
void |
visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction)
Visits any type of Instruction. |
void |
visitAnyStackMapFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
StackMapFrame stackMapFrame)
Visits any type of VerificationType. |
void |
visitAnySwitchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
SwitchInstruction switchInstruction)
Visits either type of SwitchInstruction. |
void |
visitAnyVerificationType(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
VerificationType verificationType)
Visits any type of VerificationType. |
void |
visitBranchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
BranchInstruction branchInstruction)
|
void |
visitCodeAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute)
|
void |
visitExceptionInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
ExceptionInfo exceptionInfo)
|
void |
visitFullFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
FullFrame fullFrame)
|
void |
visitLineNumberInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LineNumberInfo lineNumberInfo)
|
void |
visitLineNumberTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LineNumberTableAttribute lineNumberTableAttribute)
|
void |
visitLocalVariableInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableInfo localVariableInfo)
|
void |
visitLocalVariableTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTableAttribute localVariableTableAttribute)
|
void |
visitLocalVariableTypeInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTypeInfo localVariableTypeInfo)
|
void |
visitLocalVariableTypeTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
|
void |
visitMoreZeroFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
MoreZeroFrame moreZeroFrame)
|
void |
visitSameOneFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
SameOneFrame sameOneFrame)
|
void |
visitStackMapAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
StackMapAttribute stackMapAttribute)
|
void |
visitStackMapTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
StackMapTableAttribute stackMapTableAttribute)
|
void |
visitUninitializedType(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
UninitializedType uninitializedType)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface proguard.classfile.instruction.visitor.InstructionVisitor |
|---|
visitConstantInstruction, visitLookUpSwitchInstruction, visitSimpleInstruction, visitTableSwitchInstruction, visitVariableInstruction |
| Methods inherited from interface proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor |
|---|
visitLessZeroFrame, visitSameZeroFrame |
| Constructor Detail |
|---|
public CodeAttributeComposer()
public CodeAttributeComposer(boolean allowExternalExceptionHandlers)
| Method Detail |
|---|
public void reset()
public void beginCodeFragment(int maximumCodeFragmentLength)
maximumCodeFragmentLength - the maximum length of the code that will
be added as part of this fragment.
public void appendInstruction(int oldInstructionOffset,
Instruction instruction)
oldInstructionOffset - the old offset of the instruction, to which
branches and other references in the current
code fragment are pointing.instruction - the instruction to be appended.public void appendLabel(int oldInstructionOffset)
oldInstructionOffset - the old offset of the label, to which
branches and other references in the current
code fragment are pointing.public void appendException(ExceptionInfo exceptionInfo)
exceptionInfo - the exception to be appended.public void endCodeFragment()
public void visitAnyAttribute(Clazz clazz,
Attribute attribute)
SimplifiedVisitor
visitAnyAttribute in class SimplifiedVisitor
public void visitCodeAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute)
visitCodeAttribute in interface AttributeVisitorvisitCodeAttribute in class SimplifiedVisitor
public void visitStackMapAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
StackMapAttribute stackMapAttribute)
visitStackMapAttribute in interface AttributeVisitorvisitStackMapAttribute in class SimplifiedVisitor
public void visitStackMapTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
StackMapTableAttribute stackMapTableAttribute)
visitStackMapTableAttribute in interface AttributeVisitorvisitStackMapTableAttribute in class SimplifiedVisitor
public void visitLineNumberTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LineNumberTableAttribute lineNumberTableAttribute)
visitLineNumberTableAttribute in interface AttributeVisitorvisitLineNumberTableAttribute in class SimplifiedVisitor
public void visitLocalVariableTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTableAttribute localVariableTableAttribute)
visitLocalVariableTableAttribute in interface AttributeVisitorvisitLocalVariableTableAttribute in class SimplifiedVisitor
public void visitLocalVariableTypeTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
visitLocalVariableTypeTableAttribute in interface AttributeVisitorvisitLocalVariableTypeTableAttribute in class SimplifiedVisitor
public void visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction)
SimplifiedVisitor
visitAnyInstruction in class SimplifiedVisitor
public void visitBranchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
BranchInstruction branchInstruction)
visitBranchInstruction in interface InstructionVisitorvisitBranchInstruction in class SimplifiedVisitor
public void visitAnySwitchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
SwitchInstruction switchInstruction)
SimplifiedVisitor
visitAnySwitchInstruction in class SimplifiedVisitor
public void visitExceptionInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
ExceptionInfo exceptionInfo)
visitExceptionInfo in interface ExceptionInfoVisitor
public void visitAnyStackMapFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
StackMapFrame stackMapFrame)
SimplifiedVisitor
visitAnyStackMapFrame in class SimplifiedVisitor
public void visitSameOneFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
SameOneFrame sameOneFrame)
visitSameOneFrame in interface StackMapFrameVisitorvisitSameOneFrame in class SimplifiedVisitor
public void visitMoreZeroFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
MoreZeroFrame moreZeroFrame)
visitMoreZeroFrame in interface StackMapFrameVisitorvisitMoreZeroFrame in class SimplifiedVisitor
public void visitFullFrame(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
FullFrame fullFrame)
visitFullFrame in interface StackMapFrameVisitorvisitFullFrame in class SimplifiedVisitor
public void visitAnyVerificationType(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
VerificationType verificationType)
SimplifiedVisitor
visitAnyVerificationType in class SimplifiedVisitor
public void visitUninitializedType(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
UninitializedType uninitializedType)
visitUninitializedType in interface VerificationTypeVisitorvisitUninitializedType in class SimplifiedVisitor
public void visitLineNumberInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LineNumberInfo lineNumberInfo)
visitLineNumberInfo in interface LineNumberInfoVisitor
public void visitLocalVariableInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableInfo localVariableInfo)
visitLocalVariableInfo in interface LocalVariableInfoVisitor
public void visitLocalVariableTypeInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTypeInfo localVariableTypeInfo)
visitLocalVariableTypeInfo in interface LocalVariableTypeInfoVisitorpublic static void main(java.lang.String[] args)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||