| Package | Description |
|---|---|
| proguard |
This package contains the main ProGuard application.
|
| proguard.classfile |
This package contains classes to represent the various elements of class files.
|
| proguard.classfile.attribute |
This package contains classes to represent the attributes inside class files.
|
| proguard.classfile.constant | |
| proguard.classfile.constant.visitor |
This package contains visitors for class constants.
|
| 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.io |
This package contains classes for reading and writing class files.
|
| 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.obfuscate |
This package contains classes to perform obfuscation of class files.
|
| 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.shrink |
This package contains classes to perform shrinking of class files.
|
| Modifier and Type | Class and Description |
|---|---|
class |
GetAnnotationChecker
This constant visitor checks whether visited method references try to
access annotations.
|
class |
GetEnclosingClassChecker
This constant visitor checks whether visited method references try to
access enclosing classes.
|
class |
GetEnclosingMethodChecker
This constant visitor checks whether visited method references try to
access enclosing methods.
|
class |
GetSignatureChecker
This constant visitor checks whether visited method references try to
access signatures.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LibraryClass.constantPoolEntriesAccept(ConstantVisitor constantVisitor) |
void |
Clazz.constantPoolEntriesAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit all constant pool entries
of this class.
|
void |
ProgramClass.constantPoolEntriesAccept(ConstantVisitor constantVisitor) |
void |
LibraryClass.constantPoolEntryAccept(int index,
ConstantVisitor constantVisitor) |
void |
Clazz.constantPoolEntryAccept(int index,
ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the constant pool entry
at the specified index.
|
void |
ProgramClass.constantPoolEntryAccept(int index,
ConstantVisitor constantVisitor) |
void |
LibraryClass.interfaceConstantsAccept(ConstantVisitor constantVisitor) |
void |
Clazz.interfaceConstantsAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool
entries for all interfaces of this class.
|
void |
ProgramClass.interfaceConstantsAccept(ConstantVisitor constantVisitor) |
void |
LibraryClass.superClassConstantAccept(ConstantVisitor constantVisitor) |
void |
Clazz.superClassConstantAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool
entry of the super class of this class, if there is one.
|
void |
ProgramClass.superClassConstantAccept(ConstantVisitor constantVisitor) |
void |
LibraryClass.thisClassConstantAccept(ConstantVisitor constantVisitor) |
void |
Clazz.thisClassConstantAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool
entry of this class.
|
void |
ProgramClass.thisClassConstantAccept(ConstantVisitor constantVisitor) |
| Modifier and Type | Method and Description |
|---|---|
void |
ExceptionsAttribute.exceptionEntriesAccept(Clazz clazz,
ConstantVisitor constantVisitor)
Applies the given constant pool visitor to all exception class pool info
entries.
|
void |
InnerClassesInfo.innerClassConstantAccept(Clazz clazz,
ConstantVisitor constantVisitor)
Applies the given constant pool visitor to the class constant of the
inner class, if any.
|
void |
InnerClassesInfo.innerNameConstantAccept(Clazz clazz,
ConstantVisitor constantVisitor)
Applies the given constant pool visitor to the Utf8 constant of the
inner name, if any.
|
void |
BootstrapMethodInfo.methodArgumentsAccept(Clazz clazz,
ConstantVisitor constantVisitor)
Applies the given constant pool visitor to the argument constants of the
bootstrap method.
|
void |
InnerClassesInfo.outerClassConstantAccept(Clazz clazz,
ConstantVisitor constantVisitor)
Applies the given constant pool visitor to the class constant of the
outer class, if any.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LongConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
abstract void |
Constant.accept(Clazz clazz,
ConstantVisitor constantVisitor)
Accepts the given visitor.
|
void |
ClassConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
IntegerConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
DoubleConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
Utf8Constant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
MethodrefConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
InterfaceMethodrefConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
FieldrefConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
FloatConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
MethodTypeConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
NameAndTypeConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
InvokeDynamicConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
MethodHandleConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
StringConstant.accept(Clazz clazz,
ConstantVisitor constantVisitor) |
void |
InvokeDynamicConstant.bootstrapMethodHandleAccept(Clazz clazz,
ConstantVisitor constantVisitor)
Lets the bootstrap method handle constant accept the given visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BootstrapMethodHandleTraveler
This ConstantVisitor and BootstrapMethodInfoVisitor travels from any invoke
dynamic constants or bootstrap method info entries that it visits to their
bootstrap method handle constants, and applies a given constant visitor.
|
class |
ConstantTagFilter
This
ConstantVisitor delegates its visits to one or more
specified types of constants. |
class |
ExceptClassConstantFilter
This
ConstantVisitor delegates its visits to class constants
to another given ConstantVisitor, except for one given class. |
class |
MethodrefTraveler
This ConstantVisitor travels from any method handle constants that it visits
to their methodref constants, and applies a given constant visitor.
|
| Constructor and Description |
|---|
AllConstantVisitor(ConstantVisitor constantVisitor) |
BootstrapMethodArgumentVisitor(ConstantVisitor constantVisitor)
Creates a new BootstrapMethodArgumentVisitor that will delegate to the
given constant visitor.
|
BootstrapMethodHandleTraveler(ConstantVisitor bootstrapMethodHandleVisitor)
Creates a new BootstrapMethodHandleVisitor that will delegate to the
given constant visitor.
|
ConstantTagFilter(int[] constantTags,
ConstantVisitor constantVisitor)
Creates a new ConstantTagFilter.
|
ConstantTagFilter(int constantTag,
ConstantVisitor constantVisitor)
Creates a new ConstantTagFilter.
|
ExceptClassConstantFilter(String exceptClassName,
ConstantVisitor constantVisitor)
Creates a new ExceptClassConstantFilter.
|
MethodrefTraveler(ConstantVisitor methodrefConstantVisitor)
Creates a new v that will delegate to the given constant visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AccessFixer
This ClassVisitor fixes the access modifiers of all classes and class
members that are referenced by the classes that it visits.
|
class |
BootstrapMethodRemapper
This ConstantVisitor remaps all possible indices of bootstrap methods
of the constants that it visits, based on a given index map.
|
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 |
ClassReferenceFixer
This ClassVisitor fixes references of constant pool entries, fields,
methods, and attributes to classes whose names have changed.
|
class |
ConstantAdder
This ConstantVisitor adds all constants that it visits to the constant pool
of a given target class.
|
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 |
ExceptionAdder
This ConstantVisitor adds all class constants that it visits to the given
target exceptions attribute.
|
class |
InnerClassesAccessFixer
This InnerClassesInfoVisitor fixes the inner class access flags of the
inner classes information that it visits.
|
class |
InterfaceAdder
This ConstantVisitor adds all interfaces that it visits to the given
target class.
|
class |
MemberReferenceFixer
This ClassVisitor fixes constant pool field and method references to fields
and methods whose names or descriptors have changed.
|
class |
MethodInvocationFixer
This AttributeVisitor fixes all inappropriate special/virtual/static/interface
invocations of the code attributes that it visits.
|
class |
NameAndTypeShrinker
This ClassVisitor removes NameAndType constant pool entries that are not
used.
|
class |
Utf8Shrinker
This ClassVisitor removes UTF-8 constant pool entries that are not used.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ConstantInstruction
This Instruction represents an instruction that refers to an entry in the
constant pool.
|
| Constructor and Description |
|---|
InstructionConstantVisitor(ConstantVisitor constantVisitor)
Creates a new InstructionConstantVisitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
LibraryClassReader
This ClassVisitor fills out the LibraryClass objects that it visits with data
from the given DataInput object.
|
class |
ProgramClassReader
This ClassVisitor fills out the ProgramClass objects that it visits with data
from the given DataInput object.
|
class |
ProgramClassWriter
This ClassVisitor writes out the ProgramClass objects that it visits to the
given DataOutput object.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ClassReferenceInitializer
This ClassVisitor initializes the references of all classes that
it visits.
|
class |
ClassSuperHierarchyInitializer
This ClassVisitor initializes the superclass hierarchy of all classes that
it visits.
|
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.
|
class |
StringReferenceInitializer
This ConstantVisitor initializes any class references of all string constants
it visits.
|
class |
StringSharer
This ClassVisitor shares strings in the class files that it visits.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ClassCleaner
This
ClassVisitor removes all visitor information of the
classes it visits. |
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. |
class |
DynamicReturnedClassVisitor
This ConstantVisitor lets a given ClassVisitor visit all the referenced
classes that are returned by the invoke dynamic constants that it visits.
|
class |
ImplementedClassConstantFilter
This
ConstantVisitor delegates its visits to class constants
to another given ConstantVisitor, except for classes that
extend or implement a given class. |
class |
ImplementingClassConstantFilter
This
ConstantVisitor delegates its visits to class constants
to another given ConstantVisitor, except for classes that
are extended or implemented by a given class. |
class |
ReferencedClassVisitor
This ClassVisitor, MemberVisitor, ConstantVisitor, AttributeVisitor, etc.
|
class |
ReferencedMemberVisitor
This ConstantVisitor and ElementValueVisitor lets a given MemberVisitor
visit all the referenced class members of the elements that it visits.
|
| Constructor and Description |
|---|
ExceptionHandlerConstantVisitor(ConstantVisitor constantVisitor)
Creates a new ExceptionHandlerConstantVisitor.
|
ImplementedClassConstantFilter(Clazz implementedClass,
ConstantVisitor constantVisitor)
Creates a new ImplementedClassConstantFilter.
|
ImplementingClassConstantFilter(Clazz implementingClass,
ConstantVisitor constantVisitor)
Creates a new ImplementingClassConstantFilter.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BasicInvocationUnit
This InvocationUnit sets up the variables for entering a method,
and it updates the stack for the invocation of a class member,
using simple values.
|
class |
ClassConstantValueFactory
This class creates java.lang.Class ReferenceValue instances that correspond
to specified constant pool entries.
|
class |
ConstantValueFactory
This class creates Value instance that correspond to specified constant pool
entries.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ClassObfuscator
This
ClassVisitor comes up with obfuscated names for the
classes it visits, and for their class members. |
class |
ClassRenamer
This
ClassVisitor renames the class names and class member
names of the classes it visits, using names previously determined by the
obfuscator. |
| Modifier and Type | Class and Description |
|---|---|
class |
BootstrapMethodArgumentShrinker
This BootstrapMethodInfoVisitor removes unused constant arguments from
bootstrap method entries that it visits.
|
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.
|
| Modifier and Type | Class and Description |
|---|---|
class |
LoadingInvocationUnit
This InvocationUnit loads parameter values and return values that were
previously stored with the methods that are invoked.
|
class |
SimpleEnumDescriptorSimplifier
This ClassVisitor simplifies the descriptors that contain simple enums in
the program classes that it visits.
|
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.
|
class |
StoringInvocationUnit
This InvocationUnit stores parameter values and return values with the
methods that are invoked.
|
| 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 |
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 |
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 |
NonPrivateMemberMarker
This ClassVisitor marks all class members that can not be made private in the
classes that it visits, and in the classes to which they refer.
|
class |
PackageVisibleMemberInvokingClassMarker
This ConstantVisitor marks all classes that refer to package visible classes
or class members.
|
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.
|
| 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 |
ClassMerger
This ClassVisitor inlines the classes that it visits in a given target class,
whenever possible.
|
class |
InstructionSequenceReplacer
This InstructionVisitor replaces a given pattern instruction sequence by
another given replacement instruction sequence.
|
class |
MethodInliner
This AttributeVisitor inlines short methods or methods that are only invoked
once, in the code attributes that it visits.
|
class |
RetargetedInnerClassAttributeRemover
This ClassVisitor removes InnerClasses and EnclosingMethod attributes in
classes that are retargeted or that refer to classes that are retargeted.
|
class |
TargetClassChanger
This ClassVisitor replaces references to classes and class members if the
classes have targets that are intended to replace them.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AnnotationUsageMarker
This AttributeVisitor recursively marks all necessary annotation information
in the attributes that it visits.
|
class |
InnerUsageMarker
This AttributeVisitor recursively marks all necessary inner class information
in the attributes that it visits.
|
class |
InterfaceUsageMarker
This ClassVisitor recursively marks all interface
classes that are being used in the visited class.
|
class |
LocalVariableTypeUsageMarker
This AttributeVisitor recursively marks all information that points to used
classes, in the LocalVariableTable and LocalVariableTypeTable attributes that
it visits.
|
class |
ShortestUsageMarker
This ClassVisitor and MemberVisitor recursively marks all classes
and class elements that are being used.
|
Copyright © 2015. All Rights Reserved.