| Package | Description |
|---|---|
| proguard |
This package contains the main ProGuard application.
|
| proguard.backport | |
| 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.attribute.annotation |
This package contains classes to represent the annotation attributes inside
class files.
|
| proguard.classfile.attribute.annotation.visitor |
This package contains visitors for annotation attributes and their components.
|
| proguard.classfile.attribute.visitor |
This package contains visitors for attributes and their components.
|
| proguard.classfile.constant | |
| proguard.classfile.editor |
This package contains visitors to edit byte code.
|
| 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.io |
This package contains classes to read and write files, optionally wrapped in
jars, wars, ears, zips, directories,...
|
| 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.gson |
This package contains classes for optimizing usages of the Gson library for serializing and deserialing Json.
|
| 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 |
ClassMemberChecker
This class checks if the user has specified non-existent class members.
|
class |
DescriptorKeepChecker
This class checks whether classes referenced by class members that are
marked to be kept are marked to be kept too.
|
| Modifier and Type | Method and Description |
|---|---|
protected ClassPoolVisitor |
ClassSpecificationVisitorFactory.createClassPoolVisitor(ClassSpecification classSpecification,
ClassVisitor classVisitor,
MemberVisitor fieldVisitor,
MemberVisitor methodVisitor,
AttributeVisitor attributeVisitor,
List variableStringMatchers)
Constructs a ClassPoolVisitor to efficiently travel to the specified
classes, class members, and attributes.
|
ClassPoolVisitor |
KeepClassSpecificationVisitorFactory.createClassPoolVisitor(KeepClassSpecification keepClassSpecification,
ClassVisitor classVisitor,
MemberVisitor fieldVisitor,
MemberVisitor methodVisitor,
AttributeVisitor attributeVisitor)
Constructs a ClassPoolVisitor to efficiently travel to the specified
classes, class members, and attributes.
|
ClassPoolVisitor |
ClassSpecificationVisitorFactory.createClassPoolVisitor(List classSpecifications,
ClassVisitor classVisitor,
MemberVisitor memberVisitor)
Constructs a ClassPoolVisitor to efficiently travel to the specified
classes, class members, and attributes.
|
ClassPoolVisitor |
ClassSpecificationVisitorFactory.createClassPoolVisitor(List classSpecifications,
ClassVisitor classVisitor,
MemberVisitor fieldVisitor,
MemberVisitor methodVisitor,
AttributeVisitor attributeVisitor)
Constructs a ClassPoolVisitor to efficiently travel to the specified
classes and class members.
|
ClassPoolVisitor |
KeepClassSpecificationVisitorFactory.createClassPoolVisitor(List keepClassSpecifications,
ClassVisitor classVisitor,
MemberVisitor fieldVisitor,
MemberVisitor methodVisitor,
AttributeVisitor attributeVisitor)
Constructs a ClassPoolVisitor to efficiently travel to the specified
classes, class members and code attributes.
|
protected ClassVisitor |
ClassSpecificationVisitorFactory.createCombinedClassVisitor(List attributeNames,
List fieldSpecifications,
List methodSpecifications,
ClassVisitor classVisitor,
MemberVisitor fieldVisitor,
MemberVisitor methodVisitor,
AttributeVisitor attributeVisitor,
List variableStringMatchers)
Constructs a ClassVisitor to efficiently delegate to the given ClassVisitor
and travel to the specified class members and attributes.
|
protected ClassVisitor |
ClassSpecificationVisitorFactory.createNonTestingClassVisitor(MemberSpecification memberSpecification,
boolean isField,
MemberVisitor memberVisitor,
AttributeVisitor attributeVisitor,
List variableStringMatchers)
Creates a new ClassVisitor to efficiently travel to the specified class
members and attributes.
|
| Modifier and Type | Class and Description |
|---|---|
class |
JSR310Converter
This ClassVisitor will replace any occurrence of java.time.** related methods / types
that have been introduced in Java 8 to the threetenbp library.
|
class |
LambdaExpressionConverter
This ClassVisitor converts all lambda expressions in the visited
classes to anonymous inner classes.
|
class |
StreamSupportConverter
This ClassVisitor will replace any occurrence of stream related methods / types
that have been introduced in Java 8 to the streamsupport library.
|
| Constructor and Description |
|---|
DefaultInterfaceMethodConverter(ClassVisitor modifiedClassVisitor,
MemberVisitor extraMemberVisitor) |
StaticInterfaceMethodConverter(ClassPool programClassPool,
ClassPool libraryClassPool,
MultiValueMap<String,String> injectedClassNameMap,
ClassVisitor modifiedClassVisitor,
MemberVisitor extraMemberVisitor) |
| Modifier and Type | Method and Description |
|---|---|
void |
LibraryMember.accept(Clazz clazz,
MemberVisitor memberVisitor) |
void |
Member.accept(Clazz clazz,
MemberVisitor memberVisitor)
Accepts the given class visitor.
|
void |
ProgramMember.accept(Clazz clazz,
MemberVisitor memberVisitor) |
void |
LibraryMethod.accept(LibraryClass libraryClass,
MemberVisitor memberVisitor) |
abstract void |
LibraryMember.accept(LibraryClass libraryClass,
MemberVisitor memberVisitor)
Accepts the given member info visitor.
|
void |
LibraryField.accept(LibraryClass libraryClass,
MemberVisitor memberVisitor) |
void |
ProgramField.accept(ProgramClass programClass,
MemberVisitor memberVisitor) |
abstract void |
ProgramMember.accept(ProgramClass programClass,
MemberVisitor memberVisitor)
Accepts the given member info visitor.
|
void |
ProgramMethod.accept(ProgramClass programClass,
MemberVisitor memberVisitor) |
void |
Clazz.fieldAccept(String name,
String descriptor,
MemberVisitor memberVisitor)
Lets the given member info visitor visit the specified field.
|
void |
LibraryClass.fieldAccept(String name,
String descriptor,
MemberVisitor memberVisitor) |
void |
ProgramClass.fieldAccept(String name,
String descriptor,
MemberVisitor memberVisitor) |
void |
Clazz.fieldsAccept(MemberVisitor memberVisitor)
Lets the given member info visitor visit all fields of this class.
|
void |
LibraryClass.fieldsAccept(MemberVisitor memberVisitor) |
void |
ProgramClass.fieldsAccept(MemberVisitor memberVisitor) |
void |
Clazz.methodAccept(String name,
String descriptor,
MemberVisitor memberVisitor)
Lets the given member info visitor visit the specified method.
|
void |
LibraryClass.methodAccept(String name,
String descriptor,
MemberVisitor memberVisitor) |
void |
ProgramClass.methodAccept(String name,
String descriptor,
MemberVisitor memberVisitor) |
void |
Clazz.methodsAccept(MemberVisitor memberVisitor)
Lets the given member info visitor visit all methods of this class.
|
void |
LibraryClass.methodsAccept(MemberVisitor memberVisitor) |
void |
ProgramClass.methodsAccept(MemberVisitor memberVisitor) |
| Modifier and Type | Method and Description |
|---|---|
void |
EnclosingMethodAttribute.referencedMethodAccept(MemberVisitor memberVisitor)
Lets the referenced class member accept the given visitor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
EnumConstantElementValue.referencedFieldAccept(MemberVisitor memberVisitor)
Applies the given visitor to the referenced field.
|
void |
ElementValue.referencedMethodAccept(MemberVisitor memberVisitor)
Applies the given visitor to the referenced method.
|
| Constructor and Description |
|---|
AnnotationToAnnotatedMemberVisitor(MemberVisitor memberVisitor) |
| Modifier and Type | Class and Description |
|---|---|
class |
AllAttributeVisitor
This ClassVisitor, MemberVisitor, and AttributeVisitor lets a given
AttributeVisitor visit all Attribute objects of the program classes,
program class members, or code attributes, respectively, that it visits.
|
| Modifier and Type | Method and Description |
|---|---|
void |
RefConstant.referencedMemberAccept(MemberVisitor memberVisitor)
Lets the referenced class member accept the given visitor.
|
void |
StringConstant.referencedMemberAccept(MemberVisitor memberVisitor)
Lets the referenced member accept the given visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AttributeSorter
This ClassVisitor sorts the attributes of the classes that it visits.
|
class |
BootstrapMethodsAttributeShrinker
This ClassVisitor removes all unused entries from the bootstrap method attribute.
|
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 |
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 |
MemberAdder
This MemberVisitor copies all class members 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 |
MemberRemover
This visitor removes all members it visits in a ProgramClass.
|
class |
NamedAttributeDeleter
This ClassVisitor deletes attributes with a given name in the program
classes, fields, methods, or code attributes that it visits.
|
class |
Utf8Shrinker
This ClassVisitor removes UTF-8 constant pool entries that are not used.
|
| Constructor and Description |
|---|
MemberAdder(ProgramClass targetClass,
MemberVisitor extraMemberVisitor)
Creates a new MemberAdder that will copy methods into the given target
class.
|
MemberAdder(ProgramClass targetClass,
StringTransformer nameTransformer,
MemberVisitor extraMemberVisitor)
Creates a new MemberAdder that will copy methods into the given target
class.
|
| 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 |
AllParameterVisitor
This MemberVisitor lets a given parameter visitor visit all the parameters
of the methods that it visits.
|
class |
ClassReferenceInitializer
This ClassVisitor initializes the references of all classes that
it visits.
|
class |
DynamicMemberReferenceInitializer
This AttributeVisitor initializes any constant class member references of all
code that it visits.
|
class |
MemberFinder
This utility class provides methods to find class members in a given class
or in its hierarchy.
|
class |
MethodLinker
This ClassVisitor links all corresponding non-private, non-static,
non-initializer methods in the class hierarchies of all visited classes.
|
| 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 |
ConstructorMethodFilter
This MemberVisitor delegates its visits to one of three delegates, depending on whether the visited method is:
- a constructor
- a constructor that calls a super constructor
- or another method.
|
class |
InitializerMethodFilter
This MemberVisitor delegates its visits to one of two other given
MemberVisitor instances, depending on whether the visited method
is a static initializer or instance initializer, or not.
|
class |
LibraryMemberFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when visiting members of library
classes. |
class |
MemberAccessFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when the visited member has the proper
access flags. |
class |
MemberAccessFlagCleaner
This visitor clears the specified access flags of the
program classes and class members that its visits.
|
class |
MemberAccessFlagSetter
This
MemberVisitor sets the specified access flags of the
program class members that it visits. |
class |
MemberAccessSetter
This
MemberVisitor sets the access part of the access flags of
the program class members that its visits to a given value. |
class |
MemberClassAccessFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when the visited member is accessible
from the given referencing class. |
class |
MemberCollector
This MemberVisitor collects dot-separated classname.membername.descriptor
strings of the class members that it visits.
|
class |
MemberCounter
This MemberVisitor counts the number of class members that have been visited.
|
class |
MemberDescriptorFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when the visited member
has a descriptor that matches a given regular expression. |
class |
MemberDescriptorReferencedClassVisitor
This MemberVisitor lets a given ClassVisitor visit all the classes
referenced by the descriptors of the class members that it visits.
|
class |
MemberNameFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when the visited member
has a name that matches a given regular expression. |
class |
MemberToClassVisitor
This MemberVisitor delegates all visits to a given ClassVisitor.
|
class |
MethodCollector
This
MemberVisitor collects the methods that it visits in the
given collection. |
class |
MethodImplementationFilter
This
MemberVisitor delegates its visits to methods to
another given MemberVisitor, but only when the visited
method may have implementations. |
class |
MethodImplementationTraveler
This
MemberVisitor lets a given MemberVisitor
travel to all concrete and abstract implementations of the visited methods
in their class hierarchies. |
class |
MultiMemberVisitor
This MemberVisitor delegates all visits to each MemberVisitor
in a given list.
|
class |
ProgramMemberFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when visiting members of program
classes. |
class |
ReferencedClassVisitor
This ClassVisitor, MemberVisitor, ConstantVisitor, AttributeVisitor, etc.
|
class |
SimilarMemberVisitor
This
MemberVisitor lets a given MemberVisitor
visit all members that have the same name and type as the visited methods
in the class hierarchy of the members' classes or of a given target class. |
class |
SimpleClassPrinter
This
ClassVisitor and MemberVisitor
prints out the class names of the classes it visits, and the full class
member descriptions of the class members it visits. |
class |
VariableMemberVisitor
This MemberVisitor delegates all method calls to a MemberVisitor
that can be changed at any time.
|
class |
VisitorInfoSetter
This visitor sets a fixed info object on all the visitor accepters
that it visits.
|
| Modifier and Type | Field and Description |
|---|---|
protected MemberVisitor |
ReferencedMemberVisitor.memberVisitor |
| Modifier and Type | Method and Description |
|---|---|
MemberVisitor |
VariableMemberVisitor.getMemberVisitor() |
| Modifier and Type | Method and Description |
|---|---|
void |
MultiMemberVisitor.addMemberVisitor(MemberVisitor memberVisitor) |
void |
VariableMemberVisitor.setMemberVisitor(MemberVisitor memberVisitor) |
| Constructor and Description |
|---|
AllFieldVisitor(MemberVisitor memberVisitor) |
AllMemberVisitor(MemberVisitor memberVisitor) |
AllMethodVisitor(MemberVisitor memberVisitor) |
ConstructorMethodFilter(MemberVisitor constructorVisitor) |
ConstructorMethodFilter(MemberVisitor superCallingConstructorVisitor,
MemberVisitor constructorVisitor,
MemberVisitor otherMethodVisitor) |
InitializerMethodFilter(MemberVisitor initializerMemberVisitor)
Creates a new InitializerMethodFilter.
|
InitializerMethodFilter(MemberVisitor initializerMemberVisitor,
MemberVisitor otherMemberVisitor)
Creates a new InitializerMethodFilter.
|
LibraryMemberFilter(MemberVisitor memberVisitor)
Creates a new ProgramMemberFilter.
|
MemberAccessFilter(int requiredSetAccessFlags,
int requiredUnsetAccessFlags,
MemberVisitor memberVisitor)
Creates a new MemberAccessFilter.
|
MemberClassAccessFilter(Clazz referencingClass,
MemberVisitor memberVisitor)
Creates a new MemberAccessFilter.
|
MemberDescriptorFilter(String regularExpression,
List variableStringMatchers,
MemberVisitor memberVisitor)
Creates a new MemberDescriptorFilter.
|
MemberDescriptorFilter(StringMatcher regularExpressionMatcher,
MemberVisitor memberVisitor)
Creates a new MemberDescriptorFilter.
|
MemberDescriptorFilter(String regularExpression,
MemberVisitor memberVisitor)
Creates a new MemberDescriptorFilter.
|
MemberNameFilter(String regularExpression,
List variableStringMatchers,
MemberVisitor memberVisitor)
Creates a new MemberNameFilter.
|
MemberNameFilter(StringMatcher regularExpressionMatcher,
MemberVisitor memberVisitor)
/**
Creates a new MemberNameFilter.
|
MemberNameFilter(String regularExpression,
MemberVisitor memberVisitor)
Creates a new MemberNameFilter.
|
MethodImplementationFilter(MemberVisitor memberVisitor)
Creates a new MethodImplementationFilter.
|
MethodImplementationTraveler(boolean visitThisMethod,
boolean visitSuperMethods,
boolean visitInterfaceMethods,
boolean visitOverridingMethods,
MemberVisitor memberVisitor)
Creates a new MethodImplementationTraveler.
|
MultiMemberVisitor(MemberVisitor... memberVisitors) |
NamedFieldVisitor(String name,
String descriptor,
MemberVisitor memberVisitor) |
NamedMethodVisitor(String name,
String descriptor,
MemberVisitor memberVisitor) |
ProgramMemberFilter(MemberVisitor memberVisitor)
Creates a new ProgramMemberFilter.
|
ReferencedMemberVisitor(MemberVisitor memberVisitor) |
SimilarMemberVisitor(boolean visitThisMember,
boolean visitSuperMembers,
boolean visitInterfaceMembers,
boolean visitOverridingMembers,
MemberVisitor memberVisitor)
Creates a new SimilarMemberVisitor.
|
SimilarMemberVisitor(Clazz targetClass,
boolean visitThisMember,
boolean visitSuperMembers,
boolean visitInterfaceMembers,
boolean visitOverridingMembers,
MemberVisitor memberVisitor)
Creates a new SimilarMemberVisitor.
|
VariableMemberVisitor(MemberVisitor memberVisitor) |
| 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.
|
| Modifier and Type | Method and Description |
|---|---|
protected ClassVisitor |
AssumeClassSpecificationVisitorFactory.createNonTestingClassVisitor(MemberSpecification memberSpecification,
boolean isField,
MemberVisitor memberVisitor,
AttributeVisitor attributeVisitor,
List variableStringMatchers) |
| Modifier and Type | Class and Description |
|---|---|
class |
ClassMapDataEntryWriter
This DataEntryWriter writes a class mapping to the given data entry, used
for debugging of the configuration.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AttributeShrinker
This ClassVisitor removes attributes that are not marked as being used or
required.
|
class |
ClassRenamer
This
ClassVisitor renames the class names and class member
names of the classes it visits, using names previously determined by the
obfuscator. |
class |
MappingPrinter
This ClassVisitor prints out the renamed classes and class members with
their old names and new names.
|
class |
MemberNameCleaner
This
MemberVisitor clears the new names of the class members
that it visits. |
class |
MemberNameCollector
This MemberVisitor collects all new (obfuscation) names of the members
that it visits.
|
class |
MemberNameConflictFixer
This MemberInfoVisitor solves obfuscation naming conflicts in all class
members that it visits.
|
class |
MemberObfuscator
This MemberVisitor obfuscates all class members that it visits.
|
class |
MemberSpecialNameFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when the visited member has a
special new name. |
class |
RenamedFlagSetter
This ClassVisitor sets the ACC_RENAMED flag for classes or class members
that have been renamed.
|
| Constructor and Description |
|---|
MemberNameFilter(MemberVisitor memberVisitor)
Creates a new MemberNameFilter.
|
MemberSpecialNameFilter(MemberVisitor memberVisitor)
Creates a new MemberSpecialNameFilter.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BootstrapMethodArgumentShrinker
This BootstrapMethodInfoVisitor removes unused constant arguments from
bootstrap method entries that it visits.
|
class |
ConstantMemberFilter
This
MemberVisitor delegates its visits to program class members
to another given MemberVisitor, but only when the visited
class member has been marked as a constant. |
class |
ConstantParameterFilter
This
MemberVisitor delegates its visits to program methods
to another given MemberVisitor, for each method parameter
that has been marked as constant. |
class |
DuplicateInitializerFixer
This MemberVisitor adds an additional parameter to the duplicate
initialization methods that it visits.
|
class |
DuplicateInitializerInvocationFixer
This AttributeVisitor adds an additional integer parameter to the tweaked
initialization method invocations that it visits.
|
class |
KeepMarker
This
ClassVisitor, MemberVisitor and
AttributeVisitor marks classes, class members and
code attributes it visits. |
class |
KeptMemberFilter
This MemberVisitor delegates all its method calls to another MemberVisitor,
but only for Member objects that are marked as kept.
|
class |
MemberDescriptorSpecializer
This MemberVisitor specializes parameters in the descriptors of the
methods that it visits.
|
class |
MethodDescriptorShrinker
This MemberVisitor removes unused parameters in the descriptors of the
methods that it visits.
|
class |
MethodStaticizer
This MemberVisitor makes all methods that it visits static, if their 'this'
parameters are unused.
|
class |
OptimizationInfoMemberFilter
This
MemberVisitor delegates its visits to another given
MemberVisitor, but only when the visited member has editable
optimization info. |
class |
WriteOnlyFieldFilter
This
MemberVisitor delegates its visits to program fields to
other given MemberVisitor instances, but only when the visited
field has been marked as write-only. |
| Constructor and Description |
|---|
ConstantMemberFilter(MemberVisitor constantMemberVisitor)
Creates a new ConstantMemberFilter.
|
ConstantParameterFilter(MemberVisitor constantParameterVisitor)
Creates a new ConstantParameterFilter.
|
DuplicateInitializerFixer(MemberVisitor extraFixedInitializerVisitor)
Creates a new DuplicateInitializerFixer with an extra visitor.
|
KeptMemberFilter(MemberVisitor memberVisitor)
Creates a new KeptMemberFilter.
|
MemberDescriptorSpecializer(MemberVisitor extraParameterMemberVisitor)
Creates a new MethodDescriptorShrinker with an extra visitor.
|
MethodDescriptorShrinker(MemberVisitor extraMemberVisitor)
Creates a new MethodDescriptorShrinker with an extra visitor.
|
MethodStaticizer(MemberVisitor extraStaticMemberVisitor)
Creates a new MethodStaticizer with an extra visitor.
|
OptimizationInfoMemberFilter(MemberVisitor memberVisitor)
Creates a new OptimizationInfoMemberFilter.
|
OptimizationInfoMemberFilter(MemberVisitor memberVisitor,
MemberVisitor otherMemberVisitor)
Creates a new OptimizationInfoMemberFilter.
|
ParameterShrinker(MemberVisitor extraUnusedParameterMethodVisitor)
Creates a new ParameterShrinker with an extra visitor.
|
WriteOnlyFieldFilter(MemberVisitor writeOnlyFieldVisitor)
Creates a new WriteOnlyFieldFilter.
|
| 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 |
SimpleEnumArrayPropagator
This ClassVisitor propagates the value of the $VALUES field to the values()
method in the simple enum classes that it visits.
|
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 |
StoringInvocationUnit
This InvocationUnit stores parameter values and return values with the
methods that are invoked.
|
| Constructor and Description |
|---|
VariableOptimizer(boolean reuseThis,
MemberVisitor extraVariableMemberVisitor)
Creates a new VariableOptimizer with an extra visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
GsonConstructorPatcher
Class visitor that patches the constructor of Gson so that the injected
optimized type adapter factory is registered at the right priority.
|
class |
GsonDeserializationOptimizer
This visitor injects a fromJson$xxx() method into the classes that it visits
that deserializes its fields from Json.
|
class |
GsonSerializationOptimizer
This visitor injects a toJson$xxx() method into the classes that it visits
that serializes its fields to Json.
|
class |
OptimizedJsonFieldCollector
This class and member visitor collects the classes and fields that can be
involved in Json (de)serialization and register their Java to Json field
name mapping in an OptimizedJsonInfo object
|
class |
OptimizedJsonFieldVisitor
This visitor searches the classes that it visits for fields that can be
involved in Json (de)serialization and passes them on to the given member
visitor.
|
| Constructor and Description |
|---|
OptimizedJsonFieldVisitor(ClassVisitor classVisitor,
MemberVisitor memberVisitor)
Creates a new OptimizedJsonFieldVisitor.
|
| 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 |
DynamicInvocationMarker
This InstructionVisitor marks whether the methods whose instructions it
visits contain the invokedynamic instruction.
|
class |
MethodInvocationMarker
This InstructionVisitor counts the number of times methods are invoked from
the instructions that are visited.
|
class |
NoEscapingParametersMethodMarker
This MemberVisitor marks all methods that it visits as not having any
escaping parameters (including 'this').
|
class |
NoExternalReturnValuesMethodMarker
This MemberVisitor marks all methods that it visits as not having any
return values that are external reference values (only parameters or new
instances).
|
class |
NoExternalSideEffectMethodMarker
This MemberVisitor marks all methods that it visits as not having any
external side effects.
|
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 |
NoSideEffectMethodMarker
This MemberVisitor marks all methods that it visits as not having any side
effects.
|
class |
PackageVisibleMemberContainingClassMarker
This ClassVisitor marks all classes that contain package visible members.
|
class |
PackageVisibleMemberInvokingClassMarker
This ConstantVisitor marks all classes that refer to package visible classes
or class members.
|
class |
ParameterEscapedMarker
This ClassPoolVisitor marks the reference parameters that have escaped or
that are escaping, outside or inside their methods.
|
class |
ParameterEscapeMarker
This MemberVisitor, AttributeVisitor, and InstructionVisitor marks the
reference parameters that are escaping, that are modified, or that are
returned.
|
class |
ParameterUsageMarker
This MemberVisitor counts the parameters and marks the used parameters
of the methods that it visits.
|
class |
ProgramMemberOptimizationInfoSetter
This MemberVisitor attaches a ProgramFieldOptimizationInfo instance to every
field and a ProgramMethodOptimizationInfo instance to every method that is
not being kept 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.
|
class |
SideEffectMethodFilter
This MemberVisitor delegates all its method calls to another MemberVisitor,
but only for Method objects that are marked as having side effects.
|
class |
SideEffectMethodMarker
This MemberVisitor and InstructionVisitor marks all methods and classes
that have side effects.
|
class |
UnusedParameterMethodFilter
This MemberVisitor delegates all its method calls to another MemberVisitor,
but only for Method objects that are marked as having unused parameters.
|
class |
WrapperClassMarker
This ClassVisitor marks all program classes that are a simple wrapper for a
single non-null instance of another class.
|
| Constructor and Description |
|---|
SideEffectMethodFilter(MemberVisitor memberVisitor)
Creates a new SideEffectMethodFilter.
|
UnusedParameterMethodFilter(MemberVisitor memberVisitor)
Creates a new UnusedParameterMethodFilter.
|
UnusedParameterOptimizationInfoUpdater(MemberVisitor extraUnusedParameterMethodVisitor)
Creates a new UnusedParameterOptimizationInfoUpdater with an extra
visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
LineNumberLinearizer
This ClassVisitor disambiguates line numbers, in the classes that it
visits.
|
class |
MemberPrivatizer
This MemberVisitor makes all class members that it visits private, unless
they have been marked by a NonPrivateMemberMarker.
|
class |
MethodFinalizer
This
MemberVisitor makes the program methods that it visits
final, if possible. |
class |
MethodInliner
This AttributeVisitor inlines short methods or methods that are only invoked
once, in the code attributes that it visits.
|
class |
TargetClassChanger
This ClassVisitor replaces references to classes and class members if the
classes have targets that are intended to replace them.
|
| Constructor and Description |
|---|
MemberPrivatizer(MemberVisitor extraMemberVisitor)
Creates a new MemberPrivatizer.
|
MethodFinalizer(MemberVisitor extraMemberVisitor)
Creates a new ClassFinalizer.
|
VariableShrinker(MemberVisitor extraVariableMemberVisitor)
Creates a new VariableShrinker with an extra visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AnnotationUsageMarker
This AttributeVisitor recursively marks all necessary annotation information
in the attributes that it visits.
|
class |
ClassShrinker
This ClassVisitor removes constant pool entries, class members, and other
class elements that are not marked as being used.
|
class |
ShortestUsageMarker
This ClassVisitor and MemberVisitor recursively marks all classes
and class elements that are being used.
|
class |
ShortestUsagePrinter
This ClassVisitor and MemberVisitor prints out the reasons why
classes and class members have been marked as being used.
|
class |
UsagePrinter
This ClassVisitor prints out the classes and class members that have been
marked as being used (or not used).
|
class |
UsedMemberFilter
This MemberVisitor delegates all its method calls to another MemberVisitor,
but only for Member objects that are marked as used.
|
| Constructor and Description |
|---|
UsedMemberFilter(proguard.shrink.UsageMarker usageMarker,
MemberVisitor memberVisitor)
Creates a new UsedMemberFilter.
|
Copyright © 2019. All rights reserved.