| Package | Description |
|---|---|
| proguard.classfile.editor |
This package contains visitors to edit byte code.
|
| proguard.classfile.instruction |
This package contains classes to represent Java bytecode instructions.
|
| proguard.classfile.instruction.visitor |
This package contains visitors for instructions.
|
| proguard.classfile.util |
This package contains utility classes for processing class files.
|
| proguard.classfile.visitor |
This package contains interfaces and classes for processing class files from
the
package using
the visitor pattern. |
| proguard.optimize |
This package contains visitors that assist with various optimizations of byte
code.
|
| proguard.optimize.evaluation |
This package contains visitors that perform partial evaluation and subsequent
optimizations on byte code.
|
| proguard.optimize.info |
This package contains classes to collect additional information about classes
and class members, which can then be used for optimization.
|
| proguard.optimize.peephole |
This package contains visitors that perform various peephole optimizations.
|
| proguard.preverify |
| Modifier and Type | Field and Description |
|---|---|
Instruction[] |
CodeAttributeEditor.postInsertions |
Instruction[] |
CodeAttributeEditor.preInsertions |
Instruction[] |
CodeAttributeEditor.replacements |
| Modifier and Type | Method and Description |
|---|---|
void |
CodeAttributeComposer.appendInstruction(Instruction instruction)
Appends the given instruction without a defined offset.
|
void |
CodeAttributeComposer.appendInstruction(int oldInstructionOffset,
Instruction instruction)
Appends the given instruction with the given old offset.
|
void |
CodeAttributeComposer.appendInstructions(Instruction[] instructions)
Appends the given instruction without defined offsets.
|
void |
CodeAttributeEditor.insertAfterInstruction(int instructionOffset,
Instruction instruction)
Remembers to place the given instruction right after the instruction
at the given offset.
|
void |
CodeAttributeEditor.insertAfterInstruction(int instructionOffset,
Instruction[] instructions)
Remembers to place the given instructions right after the instruction
at the given offset.
|
void |
CodeAttributeEditor.insertBeforeInstruction(int instructionOffset,
Instruction instruction)
Remembers to place the given instruction right before the instruction
at the given offset.
|
void |
CodeAttributeEditor.insertBeforeInstruction(int instructionOffset,
Instruction[] instructions)
Remembers to place the given instructions right before the instruction
at the given offset.
|
void |
CodeAttributeEditor.replaceInstruction(int instructionOffset,
Instruction instruction)
Remembers to replace the instruction at the given offset by the given
instruction.
|
void |
CodeAttributeEditor.replaceInstruction(int instructionOffset,
Instruction[] instructions)
Remembers to replace the instruction at the given offset by the given
instructions.
|
void |
CodeAttributeComposer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
VariableRemapper.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
ConstantPoolShrinker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
InstructionAdder.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
ConstantPoolRemapper.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
BridgeMethodFixer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
VariableSizeUpdater.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
MethodInvocationFixer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Modifier and Type | Class and Description |
|---|---|
class |
BranchInstruction
This interface describes an instruction that branches to a given offset in
the code.
|
class |
ConstantInstruction
This Instruction represents an instruction that refers to an entry in the
constant pool.
|
class |
LookUpSwitchInstruction
This Instruction represents a simple instruction without variable arguments
or constant pool references.
|
class |
SimpleInstruction
This Instruction represents a simple instruction without variable arguments
or constant pool references.
|
class |
SwitchInstruction
This Instruction represents a simple instruction without variable arguments
or constant pool references.
|
class |
TableSwitchInstruction
This Instruction represents a simple instruction without variable arguments
or constant pool references.
|
class |
VariableInstruction
This Instruction represents an instruction that refers to a variable on the
local variable stack.
|
| Modifier and Type | Method and Description |
|---|---|
static Instruction |
InstructionFactory.create(byte[] code,
int offset)
Creates a new Instruction from the data in the byte array, starting
at the given index.
|
abstract Instruction |
Instruction.shrink()
Shrinks this instruction to its shortest possible form.
|
Instruction |
SimpleInstruction.shrink() |
Instruction |
VariableInstruction.shrink() |
Instruction |
BranchInstruction.shrink() |
Instruction |
ConstantInstruction.shrink() |
Instruction |
LookUpSwitchInstruction.shrink() |
Instruction |
TableSwitchInstruction.shrink() |
| Modifier and Type | Method and Description |
|---|---|
void |
InstructionConstantVisitor.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
InstructionCounter.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Modifier and Type | Method and Description |
|---|---|
void |
DynamicMemberReferenceInitializer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
SimplifiedVisitor.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction)
Visits any type of Instruction.
|
void |
EnumFieldReferenceInitializer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
DynamicClassReferenceInitializer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Constructor and Description |
|---|
InstructionSequenceMatcher(Constant[] patternConstants,
Instruction[] patternInstructions)
Creates a new InstructionSequenceMatcher.
|
| Modifier and Type | Method and Description |
|---|---|
void |
ClassPrinter.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
DotClassClassVisitor.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Modifier and Type | Method and Description |
|---|---|
void |
TailRecursionSimplifier.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
DuplicateInitializerInvocationFixer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Modifier and Type | Method and Description |
|---|---|
void |
LivenessAnalyzer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
SideEffectInstructionChecker.hasSideEffects(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction)
Returns whether the given instruction has side effects outside of its
method.
|
boolean |
ExceptionInstructionChecker.mayThrowExceptions(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction)
Returns whether the given instruction may throw exceptions.
|
void |
InstantiationClassMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
AccessMethodMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
VariableUsageMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
InstanceofClassMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
MethodInvocationMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
BackwardBranchMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
DotClassMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
ExceptionInstructionChecker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
SideEffectInstructionChecker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
ReadWriteFieldMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
ParameterUsageMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
DynamicInvocationMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
SuperInvocationMarker.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Modifier and Type | Field and Description |
|---|---|
static Instruction[][][] |
InstructionSequenceConstants.ARITHMETIC |
static Instruction[][][] |
InstructionSequenceConstants.BRANCH |
static Instruction[][][] |
InstructionSequenceConstants.CAST |
static Instruction[][][] |
InstructionSequenceConstants.FIELD |
static Instruction[][][] |
InstructionSequenceConstants.STRING |
static Instruction[][][] |
InstructionSequenceConstants.VARIABLE |
| Modifier and Type | Method and Description |
|---|---|
void |
GotoCommonCodeReplacer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
GotoGotoReplacer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
UnreachableCodeRemover.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
InstructionSequenceReplacer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
GotoReturnReplacer.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
NopRemover.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
void |
MethodInliner.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
| Constructor and Description |
|---|
InstructionSequenceReplacer(Constant[] patternConstants,
Instruction[] patternInstructions,
Instruction[] replacementInstructions,
BranchTargetFinder branchTargetFinder,
CodeAttributeEditor codeAttributeEditor)
Creates a new InstructionSequenceReplacer.
|
InstructionSequenceReplacer(Constant[] patternConstants,
Instruction[] patternInstructions,
Instruction[] replacementInstructions,
BranchTargetFinder branchTargetFinder,
CodeAttributeEditor codeAttributeEditor)
Creates a new InstructionSequenceReplacer.
|
InstructionSequenceReplacer(Constant[] patternConstants,
Instruction[] patternInstructions,
Instruction[] replacementInstructions,
BranchTargetFinder branchTargetFinder,
CodeAttributeEditor codeAttributeEditor,
InstructionVisitor extraInstructionVisitor)
Creates a new InstructionSequenceReplacer.
|
InstructionSequenceReplacer(Constant[] patternConstants,
Instruction[] patternInstructions,
Instruction[] replacementInstructions,
BranchTargetFinder branchTargetFinder,
CodeAttributeEditor codeAttributeEditor,
InstructionVisitor extraInstructionVisitor)
Creates a new InstructionSequenceReplacer.
|
InstructionSequencesReplacer(Constant[] patternConstants,
Instruction[][][] instructionSequences,
BranchTargetFinder branchTargetFinder,
CodeAttributeEditor codeAttributeEditor)
Creates a new InstructionSequencesReplacer.
|
InstructionSequencesReplacer(Constant[] patternConstants,
Instruction[][][] instructionSequences,
BranchTargetFinder branchTargetFinder,
CodeAttributeEditor codeAttributeEditor,
InstructionVisitor extraInstructionVisitor)
Creates a new InstructionSequenceReplacer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
CodeSubroutineInliner.visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction) |
Copyright © 2015. All Rights Reserved.