| Package | Description |
|---|---|
| proguard.classfile.attribute |
This package contains classes to represent the attributes inside class files.
|
| proguard.classfile.attribute.visitor |
This package contains visitors for attributes and their components.
|
| 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.evaluation | |
| 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 | |
| proguard.shrink |
This package contains classes to perform shrinking of class files.
|
| Modifier and Type | Method and Description |
|---|---|
void |
CodeAttribute.instructionAccept(Clazz clazz,
Method method,
int offset,
InstructionVisitor instructionVisitor)
Applies the given instruction visitor to the instruction at the specified
offset.
|
void |
CodeAttribute.instructionsAccept(Clazz clazz,
Method method,
InstructionVisitor instructionVisitor)
Applies the given instruction visitor to all instructions.
|
void |
CodeAttribute.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.
|
| Modifier and Type | Class and Description |
|---|---|
class |
StackSizeComputer
This AttributeVisitor computes the stack sizes at all instruction offsets
of the code attributes that it visits.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BridgeMethodFixer
This MemberVisitor fixes all inappropriate bridge access flags of the
program methods that it visits, checking whether the methods to which they
bridge have the same name.
|
class |
CodeAttributeComposer
This AttributeVisitor accumulates instructions and exceptions, and then
copies them into code attributes that it visits.
|
class |
CodeAttributeEditor
This AttributeVisitor accumulates specified changes to code, and then applies
these accumulated changes to the code attributes that it visits.
|
class |
ConstantPoolRemapper
This ClassVisitor remaps all possible references to constant pool entries
of the classes that it visits, based on a given index map.
|
class |
ConstantPoolShrinker
This ClassVisitor removes all unused entries from the constant pool.
|
class |
InstructionAdder
This InstructionVisitor adds all instructions that it visits to the given
target code attribute.
|
class |
InstructionWriter
This InstructionVisitor writes out the instructions that it visits,
collecting instructions that have to be widened.
|
class |
MethodInvocationFixer
This AttributeVisitor fixes all inappropriate special/virtual/static/interface
invocations of the code attributes that it visits.
|
class |
VariableRemapper
This AttributeVisitor remaps variable indexes in all attributes that it
visits, based on a given index map.
|
class |
VariableSizeUpdater
This AttributeVisitor computes and updates the maximum local variable frame
size of the code attributes that it visits.
|
| Modifier and Type | Method and Description |
|---|---|
abstract void |
Instruction.accept(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
InstructionVisitor instructionVisitor)
Accepts the given visitor.
|
void |
SimpleInstruction.accept(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
InstructionVisitor instructionVisitor) |
void |
VariableInstruction.accept(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
InstructionVisitor instructionVisitor) |
void |
BranchInstruction.accept(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
InstructionVisitor instructionVisitor) |
void |
ConstantInstruction.accept(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
InstructionVisitor instructionVisitor) |
void |
LookUpSwitchInstruction.accept(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
InstructionVisitor instructionVisitor) |
void |
TableSwitchInstruction.accept(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
InstructionVisitor instructionVisitor) |
| Modifier and Type | Class and Description |
|---|---|
class |
InstructionConstantVisitor
This AttributeVisitor lets a given ConstantVisitor visit all constants
of the instructions it visits.
|
class |
InstructionCounter
This InstructionVisitor counts the number of instructions that has been visited.
|
class |
MultiInstructionVisitor
This InstructionVisitor delegates all visits to each InstructionVisitor
in a given list.
|
| Modifier and Type | Method and Description |
|---|---|
void |
MultiInstructionVisitor.addInstructionVisitor(InstructionVisitor instructionVisitor) |
| Constructor and Description |
|---|
AllInstructionVisitor(InstructionVisitor instructionVisitor) |
MultiInstructionVisitor(InstructionVisitor[] instructionVisitors) |
| Modifier and Type | Class and Description |
|---|---|
class |
DynamicClassReferenceInitializer
This InstructionVisitor initializes any constant
Class.forName or
.class references of all classes it visits. |
class |
DynamicMemberReferenceInitializer
This InstructionVisitor initializes any constant
Class.get[Declared]{Field,Method} references of all instructions
it visits. |
class |
EnumFieldReferenceInitializer
This ElementValueVisitor initializes the field references of the
EnumConstantElementValue instances that it visits.
|
class |
InstructionSequenceMatcher
This InstructionVisitor checks whether a given pattern instruction sequence
occurs in the instructions that are visited.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ClassPrinter
This
ClassVisitor prints out the complete internal
structure of the classes it visits. |
class |
DotClassClassVisitor
This InstructionVisitor lets a given
ClassVisitor visit all
classes involved in any .class constructs that it visits. |
| Modifier and Type | Class and Description |
|---|---|
class |
Processor
This InstructionVisitor executes the instructions that it visits on a given
local variable frame and stack.
|
| Modifier and Type | Class and Description |
|---|---|
class |
DuplicateInitializerInvocationFixer
This AttributeVisitor adds an additional integer parameter to the tweaked
initialization method invocations that it visits.
|
class |
TailRecursionSimplifier
This MemberVisitor simplifies tail recursion calls in all methods that it
visits.
|
| Constructor and Description |
|---|
DuplicateInitializerInvocationFixer(InstructionVisitor extraAddedInstructionVisitor)
Creates a new DuplicateInitializerInvocationFixer.
|
TailRecursionSimplifier(InstructionVisitor extraTailRecursionVisitor)
Creates a new TailRecursionSimplifier with an extra visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
EvaluationSimplifier
This AttributeVisitor simplifies the code attributes that it visits, based
on partial evaluation.
|
class |
LivenessAnalyzer
This AttributeVisitor analyzes the liveness of the variables in the code
attributes that it visits, based on partial evaluation.
|
class |
SimpleEnumClassSimplifier
This ClassVisitor simplifies the classes that it visits to simple enums.
|
class |
SimpleEnumUseChecker
This ClassVisitor marks enums that can't be simplified due to the way they
are used in the classes that it visits.
|
class |
SimpleEnumUseSimplifier
This AttributeVisitor simplifies the use of enums in the code attributes that
it visits.
|
| Constructor and Description |
|---|
EvaluationShrinker(PartialEvaluator partialEvaluator,
InstructionVisitor extraDeletedInstructionVisitor,
InstructionVisitor extraAddedInstructionVisitor)
Creates a new EvaluationShrinker.
|
EvaluationSimplifier(PartialEvaluator partialEvaluator,
InstructionVisitor extraInstructionVisitor)
Creates a new EvaluationSimplifier.
|
SimpleEnumUseSimplifier(PartialEvaluator partialEvaluator,
InstructionVisitor extraInstructionVisitor)
Creates a new SimpleEnumDescriptorSimplifier.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AccessMethodMarker
This InstructionVisitor marks the types of class accesses and class member
accesses of the methods whose instructions it visits.
|
class |
BackwardBranchMarker
This InstructionVisitor marks all methods that branch backward in any of the
instructions that it visits.
|
class |
DotClassMarker
This InstructionVisitor marks all classes that are used in a .class
construct by any of the instructions that it visits.
|
class |
DynamicInvocationMarker
This InstructionVisitor marks whether the methods whose instructions it
visits contain the invokedynamic instruction.
|
class |
ExceptionInstructionChecker
This class can tell whether an instruction might throw exceptions.
|
class |
InstanceofClassMarker
This InstructionVisitor marks all classes that are used in an 'instanceof'
test by any of the instructions that it visits.
|
class |
InstantiationClassMarker
This InstructionVisitor marks all classes that are instantiated by any of
the instructions that it visits.
|
class |
MethodInvocationMarker
This InstructionVisitor counts the number of times methods are invoked from
the instructions that are visited.
|
class |
ParameterUsageMarker
This MemberVisitor counts the parameters and marks the used parameters
of the methods that it visits.
|
class |
ReadWriteFieldMarker
This InstructionVisitor marks all fields that are write-only.
|
class |
SideEffectInstructionChecker
This class can tell whether an instruction has any side effects outside of
its method.
|
class |
SuperInvocationMarker
This InstructionVisitor marks all methods that invoke super methods (other
than initializers) from the instructions that it visits.
|
class |
VariableUsageMarker
This AttributeVisitor marks the local variables that are used in the code
attributes that it visits.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BranchTargetFinder
This AttributeVisitor finds all instruction offsets, branch targets, and
exception targets in the CodeAttribute objects that it visits.
|
class |
GotoCommonCodeReplacer
This AttributeVisitor redirects unconditional branches so any common code
is shared, and the code preceding the branch can be removed, in the code
attributes that it visits.
|
class |
GotoGotoReplacer
This InstructionVisitor simplifies unconditional branches to other
unconditional branches.
|
class |
GotoReturnReplacer
This InstructionVisitor replaces unconditional branches to return instructions
by these same return instructions.
|
class |
InstructionSequenceReplacer
This InstructionVisitor replaces a given pattern instruction sequence by
another given replacement instruction sequence.
|
class |
InstructionSequencesReplacer
This InstructionVisitor replaces multiple instruction sequences at once.
|
class |
MethodInliner
This AttributeVisitor inlines short methods or methods that are only invoked
once, in the code attributes that it visits.
|
class |
NopRemover
This InstructionVisitor removes all nop instructions that it encounters.
|
class |
ReachableCodeMarker
This AttributeVisitor finds all instruction offsets, branch targets, and
exception targets in the CodeAttribute objects that it visits.
|
class |
UnreachableCodeRemover
This InstructionVisitor deletes blocks of code that can never be reached by
regular calls or branches.
|
| Constructor and Description |
|---|
GotoCommonCodeReplacer(InstructionVisitor extraInstructionVisitor)
Creates a new GotoCommonCodeReplacer.
|
GotoGotoReplacer(CodeAttributeEditor codeAttributeEditor,
InstructionVisitor extraInstructionVisitor)
Creates a new GotoGotoReplacer.
|
GotoReturnReplacer(CodeAttributeEditor codeAttributeEditor,
InstructionVisitor extraInstructionVisitor)
Creates a new GotoReturnReplacer.
|
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,
InstructionVisitor extraInstructionVisitor)
Creates a new InstructionSequenceReplacer.
|
MethodInliner(boolean microEdition,
boolean allowAccessModification,
boolean inlineSingleInvocations,
InstructionVisitor extraInlinedInvocationVisitor)
Creates a new MethodInliner.
|
NopRemover(CodeAttributeEditor codeAttributeEditor,
InstructionVisitor extraInstructionVisitor)
Creates a new NopRemover.
|
PeepholeOptimizer(BranchTargetFinder branchTargetFinder,
CodeAttributeEditor codeAttributeEditor,
InstructionVisitor instructionVisitor)
Creates a new PeepholeOptimizer.
|
PeepholeOptimizer(CodeAttributeEditor codeAttributeEditor,
InstructionVisitor instructionVisitor)
Creates a new PeepholeOptimizer.
|
UnreachableCodeRemover(InstructionVisitor extraInstructionVisitor)
Creates a new UnreachableCodeRemover.
|
| Modifier and Type | Class and Description |
|---|---|
class |
CodeSubroutineInliner
This AttributeVisitor inlines local subroutines (jsr/ret) in the code
attributes that it visits.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ShortestUsageMarker
This ClassVisitor and MemberVisitor recursively marks all classes
and class elements that are being used.
|
Copyright © 2015. All Rights Reserved.