| Class | Description |
|---|---|
| ClassFinalizer |
This
ClassVisitor makes the program classes that it visits
final, if possible. |
| ClassMerger |
This ClassVisitor inlines the classes that it visits in a given target class,
whenever possible.
|
| 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.
|
| GotoGotoReplacer |
This InstructionVisitor simplifies unconditional branches to other
unconditional branches.
|
| GotoReturnReplacer |
This InstructionVisitor replaces unconditional branches to return instructions
by these same return instructions.
|
| HorizontalClassMerger |
This ClassPoolVisitor inlines siblings in the program classes that it visits, whenever possible.
|
| InstructionSequenceConstants |
This class contains a set of instruction sequences with their suggested
more compact or more efficient replacements.
|
| LineNumberLinearizer |
This pass disambiguates line numbers, in the classes that it
visits.
|
| MemberPrivatizer |
This MemberVisitor makes all class members that it visits private, unless
they have been marked by a NonPrivateMemberMarker.
|
| MethodFinalizer |
This
MemberVisitor makes the program methods that it visits
final, if possible. |
| MethodInliner |
This AttributeVisitor is an abstract class representing a visitor considering to inline each method that it
visits in its usage sites.
|
| NoConstructorReferenceReplacer |
This InstructionVisitor replaces instance references on classes without
constructors in all methods that it visits.
|
| NopRemover |
This InstructionVisitor removes all nop instructions that it encounters.
|
| ReachableCodeMarker |
This AttributeVisitor finds all instruction offsets, branch targets, and
exception targets in the CodeAttribute objects that it visits.
|
| RetargetedClassFilter |
This ClassVisitor delegates its visits to one of two other given
ClassVisitor instances, depending on whether the classes are marked to be
retargeted or not.
|
| RetargetedInnerClassAttributeRemover |
This ClassVisitor removes InnerClasses and EnclosingMethod attributes in
classes that are retargeted or that refer to classes that are retargeted.
|
| ShortMethodInliner |
This AttributeVisitor inlines short methods in the code attributes that it visits.
|
| SingleInvocationMethodInliner |
This AttributeVisitor inlines methods that are only invoked once, in the code attributes that it visits.
|
| TargetClassChanger |
This ClassVisitor replaces references to classes and class members if the
classes have targets that are intended to replace them.
|
| UnreachableCodeRemover |
This InstructionVisitor deletes blocks of code that can never be reached by
regular calls or branches.
|
| UnreachableExceptionRemover |
This AttributeVisitor removes exception handlers that are unreachable in the
code attributes that it visits.
|
| VariableShrinker |
This MemberVisitor removes unused local variables from the code of the methods
that it visits.
|
| VerticalClassMerger |
This ClassVisitor inlines the direct subclasses into the program classes
that it visits, whenever possible.
|
| WrapperClassMerger |
This ClassVisitor inlines the wrapper classes that it visits into their
wrapped classes, whenever possible.
|
| WrapperClassUseSimplifier |
This AttributeVisitor simplifies the use of retargeted wrapper classes in
the code attributes that it visits.
|