| 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.constant.visitor |
This package contains visitors for class constants.
|
| 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 |
DescriptorKeepChecker
This class checks whether classes referenced by class members that are
marked to be kept are marked to be kept too.
|
class |
DuplicateClassPrinter
This ClassVisitor writes out notes about the class files that it visits
being duplicates.
|
class |
FullyQualifiedClassNameChecker
This class checks if the user has forgotten to fully qualify any classes
in the configuration.
|
class |
LibraryKeepChecker
This class checks whether some keep rules only keep library classes, no
program classes.
|
| Modifier and Type | Method and Description |
|---|---|
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 | 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 ClassPoolVisitor |
ClassSpecificationVisitorFactory.createClassTester(ClassSpecification classSpecification,
ClassVisitor classVisitor,
List variableStringMatchers)
Constructs a ClassPoolVisitor that conditionally applies the given
ClassVisitor to all classes that match the given class specification.
|
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.
|
| Modifier and Type | Class and Description |
|---|---|
class |
DefaultInterfaceMethodConverter
This ClassVisitor moves all default interface methods in the visited
interfaces to concrete implementations.
|
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 |
LambdaExpressionCollector
This ClassVisitor collects all lambda expressions that are defined in
a visited class.
|
class |
LambdaExpressionConverter
This ClassVisitor converts all lambda expressions in the visited
classes to anonymous inner classes.
|
class |
StaticInterfaceMethodConverter
This ClassVisitor moves all static interface methods in the visited
interfaces to a separate util class and updates all invocations in
the program class pool.
|
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) |
JSR310Converter(ClassPool programClassPool,
ClassPool libraryClassPool,
WarningPrinter warningPrinter,
ClassVisitor modifiedClassVisitor,
InstructionVisitor extraInstructionVisitor)
Create a new JSR310Converter instance.
|
LambdaExpressionConverter(ClassPool programClassPool,
ClassPool libraryClassPool,
MultiValueMap<String,String> injectedClassNameMap,
ClassVisitor extraClassVisitor) |
StaticInterfaceMethodConverter(ClassPool programClassPool,
ClassPool libraryClassPool,
MultiValueMap<String,String> injectedClassNameMap,
ClassVisitor modifiedClassVisitor,
MemberVisitor extraMemberVisitor) |
StreamSupportConverter(ClassPool programClassPool,
ClassPool libraryClassPool,
WarningPrinter warningPrinter,
ClassVisitor modifiedClassVisitor,
InstructionVisitor extraInstructionVisitor)
Create a new StreamSupportConverter instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LibraryClass.accept(ClassVisitor classVisitor) |
void |
Clazz.accept(ClassVisitor classVisitor)
Accepts the given class visitor.
|
void |
ProgramClass.accept(ClassVisitor classVisitor) |
void |
ClassPool.classAccept(String className,
ClassVisitor classVisitor)
Applies the given ClassVisitor to the class with the given name,
if it is present in the class pool.
|
void |
ClassPool.classesAccept(ClassVisitor classVisitor)
Applies the given ClassVisitor to all classes in the class pool,
in random order.
|
void |
ClassPool.classesAccept(List classNameFilter,
ClassVisitor classVisitor)
Applies the given ClassVisitor to all matching classes in the class pool.
|
void |
ClassPool.classesAccept(String classNameFilter,
ClassVisitor classVisitor)
Applies the given ClassVisitor to all matching classes in the class pool.
|
void |
ClassPool.classesAccept(StringMatcher classNameFilter,
ClassVisitor classVisitor)
Applies the given ClassVisitor to all matching classes in the class pool.
|
void |
ClassPool.classesAcceptAlphabetically(ClassVisitor classVisitor)
Applies the given ClassVisitor to all classes in the class pool,
in sorted order.
|
void |
LibraryClass.hierarchyAccept(boolean visitThisClass,
boolean visitSuperClass,
boolean visitInterfaces,
boolean visitSubclasses,
ClassVisitor classVisitor) |
void |
Clazz.hierarchyAccept(boolean visitThisClass,
boolean visitSuperClass,
boolean visitInterfaces,
boolean visitSubclasses,
ClassVisitor classVisitor)
Accepts the given class visitor in the class hierarchy.
|
void |
ProgramClass.hierarchyAccept(boolean visitThisClass,
boolean visitSuperClass,
boolean visitInterfaces,
boolean visitSubclasses,
ClassVisitor classVisitor) |
void |
LibraryClass.interfacesAccept(ClassVisitor classVisitor)
Lets the given class visitor visit all known direct interfaces.
|
void |
LibraryMethod.referencedClassesAccept(ClassVisitor classVisitor) |
void |
ProgramField.referencedClassesAccept(ClassVisitor classVisitor) |
void |
LibraryField.referencedClassesAccept(ClassVisitor classVisitor) |
void |
ProgramMethod.referencedClassesAccept(ClassVisitor classVisitor) |
void |
Member.referencedClassesAccept(ClassVisitor classVisitor)
Lets the Clazz objects referenced in the descriptor string
accept the given visitor.
|
void |
LibraryClass.subclassesAccept(ClassVisitor classVisitor) |
void |
Clazz.subclassesAccept(ClassVisitor classVisitor)
Lets the given class visitor visit all known subclasses.
|
void |
ProgramClass.subclassesAccept(ClassVisitor classVisitor) |
void |
LibraryClass.superClassAccept(ClassVisitor classVisitor)
Lets the given class visitor visit the superclass, if it is known.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LocalVariableInfo.referencedClassAccept(ClassVisitor classVisitor)
Lets the referenced class accept the given visitor.
|
void |
EnclosingMethodAttribute.referencedClassAccept(ClassVisitor classVisitor)
Lets the referenced class accept the given visitor.
|
void |
SignatureAttribute.referencedClassesAccept(ClassVisitor classVisitor)
Lets the Clazz objects referenced in the signature string accept the
given visitor.
|
void |
LocalVariableTypeInfo.referencedClassesAccept(ClassVisitor classVisitor)
Applies the given visitor to all referenced classes.
|
| Modifier and Type | Method and Description |
|---|---|
void |
Annotation.referencedClassAccept(ClassVisitor classVisitor)
Applies the given visitor to the first referenced class.
|
void |
ClassElementValue.referencedClassesAccept(ClassVisitor classVisitor)
Applies the given visitor to all referenced classes.
|
void |
Annotation.referencedClassesAccept(ClassVisitor classVisitor)
Applies the given visitor to all referenced classes.
|
void |
EnumConstantElementValue.referencedClassesAccept(ClassVisitor classVisitor)
Applies the given visitor to all referenced classes.
|
| Constructor and Description |
|---|
AnnotationToAnnotatedClassVisitor(ClassVisitor classVisitor) |
| 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.
|
| Constructor and Description |
|---|
AttributeToClassVisitor(ClassVisitor classVisitor)
Creates a new AttributeToClassVisitor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
ClassConstant.referencedClassAccept(ClassVisitor classVisitor)
Lets the referenced class accept the given visitor.
|
void |
RefConstant.referencedClassAccept(ClassVisitor classVisitor)
Lets the referenced class accept the given visitor.
|
void |
StringConstant.referencedClassAccept(ClassVisitor classVisitor)
Lets the referenced class accept the given visitor.
|
void |
InvokeDynamicConstant.referencedClassesAccept(ClassVisitor classVisitor)
Lets the Clazz objects referenced in the descriptor string
accept the given visitor.
|
void |
MethodTypeConstant.referencedClassesAccept(ClassVisitor classVisitor)
Lets the Clazz objects referenced in the descriptor string
accept the given visitor.
|
void |
DynamicConstant.referencedClassesAccept(ClassVisitor classVisitor)
Lets the Clazz objects referenced in the descriptor string
accept the given visitor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AllConstantVisitor
This ClassVisitor lets a given ConstantVisitor visit all constant pool
entries of the program classes it visits.
|
class |
SuperClassConstantVisitor
This ClassVisitor lets a given ConstantVisitor visit all the constant pool
entries of the super class and interfaces of the program classes it visits.
|
| 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 |
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 |
ClassElementSorter
This ClassVisitor sorts the various elements of the classes that it visits:
interfaces, constants, fields, methods, and attributes.
|
class |
ClassMemberSorter
This ClassVisitor sorts the class members of the classes that it visits.
|
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 |
ConstantPoolSorter
This ClassVisitor sorts the constant pool entries of the program classes
that it visits.
|
class |
InnerClassesAccessFixer
This InnerClassesInfoVisitor fixes the inner class access flags of the
inner classes information that it visits.
|
class |
InterfaceDeleter
This ClassVisitor removes specified interfaces from the classes and class
signatures that it visits.
|
class |
InterfaceSorter
This ClassVisitor sorts the interfaces of the program classes that it visits.
|
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 |
NameAndTypeShrinker
This ClassVisitor removes NameAndType constant pool entries that are not
used.
|
class |
NamedAttributeDeleter
This ClassVisitor deletes attributes with a given name in the program
classes, fields, methods, or code attributes that it visits.
|
class |
NestMemberAdder
This ConstantVisitor and ClassVisitor adds the class constants or the
classes that it visits to the given target nest member attribute.
|
class |
SubclassAdder
This ClassVisitor adds the given class to the list of subclasses of the
classes that it visits.
|
class |
SubclassToAdder
This ClassVisitor adds all classes that it visits to the list of subclasses
of the given target class.
|
class |
Utf8Shrinker
This ClassVisitor removes UTF-8 constant pool entries that are not used.
|
| 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 |
ArrayInitializationReplacer
This ClassVisitor replaces array initialization instructions with optimized
primitive array constants.
|
class |
ClassReferenceInitializer
This ClassVisitor initializes the references of all classes that
it visits.
|
class |
ClassSubHierarchyInitializer
This ClassVisitor adds all classes that it visits to the list of subclasses
of their superclass.
|
class |
ClassSuperHierarchyInitializer
This ClassVisitor initializes the superclass hierarchy of all classes that
it visits.
|
class |
MethodLinker
This ClassVisitor links all corresponding non-private, non-static,
non-initializer methods in the class hierarchies of all visited classes.
|
class |
NestHostFinder
This utility class can find the nest host class names of given classes.
|
class |
PrimitiveArrayConstantReplacer
This ClassVisitor replaces all PrimitiveArray constants by Java bytecode
compliant array store instructions.
|
class |
StringSharer
This ClassVisitor shares strings in the class files that it visits.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AllFieldVisitor
This ClassVisitor lets a given MemberVisitor visit all FieldMember
objects of the classes it visits.
|
class |
AllMemberVisitor
This ClassVisitor lets a given MemberVisitor visit all Member
objects of the classes it visits.
|
class |
AllMethodVisitor
This ClassVisitor lets a given MemberVisitor visit all MethodMember
objects of the classes it visits.
|
class |
BottomClassFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, but only when visiting classes that don't
have any subclasses. |
class |
ClassAccessFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, but only when the visited class
has the proper access flags. |
class |
ClassCleaner
This
ClassVisitor removes all visitor information of the
classes it visits. |
class |
ClassCollector
This
ClassVisitor collects the classes that it visits in the
given collection. |
class |
ClassCounter
This ClassVisitor counts the number of classes that has been visited.
|
class |
ClassHierarchyTraveler
This
ClassVisitor lets a given ClassVisitor
optionally travel to the visited class, its superclass, its interfaces, and
its subclasses. |
class |
ClassNameFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, but only when the visited class has a name that
matches a given regular expression. |
class |
ClassPoolClassVisitor
This ClassPoolVisitor and ClassVisitor remembers the ClassPool instances
that it visits and applies the given ClassPoolVisitor to the most
recently remembered one, every time it visits a Clazz instance.
|
class |
ClassPoolFiller
This ClassVisitor collects all the classes it visits in a given
class pool.
|
class |
ClassPoolRemover
This ClassVisitor removes all the classes it visits from a given
class pool.
|
class |
ClassPresenceFilter
This
ClassVisitor delegates its visits to one of two
ClassVisitor instances, depending on whether the name of
the visited class file is present in a given ClassPool or not. |
class |
ClassPrinter
This
ClassVisitor prints out the complete internal
structure of the classes it visits. |
class |
ClassVersionFilter
This
ClassVisitor delegates its visits to program classes to
another given ClassVisitor, but only when the class version
number of the visited program class lies in a given range. |
class |
ClassVersionSetter
This
ClassVisitor sets the version number of the program classes
that it visits. |
class |
ConcreteClassDownTraveler
This
ClassVisitor lets a given ClassVisitor
travel to the first concrete subclasses down in its hierarchy of abstract
classes and concrete classes. |
class |
ExceptClassesFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, except for classes are in a given list. |
class |
ExceptClassFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, except for one given class. |
class |
FunctionalInterfaceFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, but only for functional interfaces, that
is, interface classes that have exactly one abstract method. |
class |
ImplementedClassFilter
This
ClassVisitor delegates its visits to one of two given
ClassVisitors, depending on whether the visited classes
extend/implement a given class or not. |
class |
LibraryClassFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, but only when visiting library classes. |
class |
MemberAccessFlagCleaner
This visitor clears the specified access flags of the
program classes and class members that its visits.
|
class |
MultiClassVisitor
This ClassVisitor delegates all visits to each ClassVisitor
in a given list.
|
class |
NamedFieldVisitor
This class visits ProgramMember objects referring to fields, identified by
a name and descriptor pair.
|
class |
NamedMethodVisitor
This class visits ProgramMember objects referring to methods, identified by
a name and descriptor pair.
|
class |
ProgramClassFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, but only when visiting program classes. |
class |
ReferencedClassVisitor
This ClassVisitor, MemberVisitor, ConstantVisitor, AttributeVisitor, etc.
|
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 |
SingleTimeClassVisitor
This ClassVisitor delegates all visits to a given ClassVisitor, although
only once to the same class in a row.
|
class |
SubclassFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, except for classes that have a given class as
direct subclass. |
class |
SubclassTraveler
This
ClassVisitor lets a given ClassVisitor
travel to direct subclasses of the visited class. |
class |
VariableClassVisitor
This ClassVisitor delegates all method calls to a ClassVisitor
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 ClassVisitor |
DynamicReturnedClassVisitor.classVisitor |
protected ClassVisitor |
ReferencedClassVisitor.classVisitor |
| Modifier and Type | Method and Description |
|---|---|
ClassVisitor |
ParallelAllClassVisitor.ClassVisitorFactory.createClassVisitor()
Creates a ClassVisitor that will be used during
parallel visiting of classes in a ClassPool.
|
ClassVisitor |
VariableClassVisitor.getClassVisitor() |
| Modifier and Type | Method and Description |
|---|---|
void |
MultiClassVisitor.addClassVisitor(ClassVisitor classVisitor) |
void |
VariableClassVisitor.setClassVisitor(ClassVisitor classVisitor) |
| Constructor and Description |
|---|
AllClassVisitor(ClassVisitor classVisitor) |
BottomClassFilter(ClassVisitor classVisitor)
Creates a new ProgramClassFilter.
|
ClassAccessFilter(int requiredSetAccessFlags,
int requiredUnsetAccessFlags,
ClassVisitor classVisitor)
Creates a new ClassAccessFilter.
|
ClassHierarchyTraveler(boolean visitThisClass,
boolean visitSuperClass,
boolean visitInterfaces,
boolean visitSubclasses,
ClassVisitor classVisitor)
Creates a new ClassHierarchyTraveler.
|
ClassNameFilter(List regularExpression,
ClassVisitor classVisitor)
Creates a new ClassNameFilter.
|
ClassNameFilter(List regularExpression,
List variableStringMatchers,
ClassVisitor classVisitor)
Creates a new ClassNameFilter.
|
ClassNameFilter(String regularExpression,
ClassVisitor classVisitor)
Creates a new ClassNameFilter.
|
ClassNameFilter(String regularExpression,
List variableStringMatchers,
ClassVisitor classVisitor)
Creates a new ClassNameFilter.
|
ClassNameFilter(StringMatcher regularExpressionMatcher,
ClassVisitor classVisitor)
Creates a new ClassNameFilter.
|
ClassPresenceFilter(ClassPool classPool,
ClassVisitor presentClassVisitor,
ClassVisitor missingClassVisitor)
Creates a new ClassPresenceFilter.
|
ClassVersionFilter(int minimumClassVersion,
ClassVisitor classVisitor)
Creates a new ClassVersionFilter.
|
ClassVersionFilter(int minimumClassVersion,
int maximumClassVersion,
ClassVisitor classVisitor)
Creates a new ClassVersionFilter.
|
ConcreteClassDownTraveler(ClassVisitor classVisitor)
Creates a new ConcreteClassDownTraveler.
|
DotClassClassVisitor(ClassVisitor classVisitor)
Creates a new ClassHierarchyTraveler.
|
DynamicReturnedClassVisitor(ClassVisitor classVisitor) |
ExceptClassesFilter(Clazz[] exceptClasses,
ClassVisitor classVisitor)
Creates a new ExceptClassesFilter.
|
ExceptClassFilter(Clazz exceptClass,
ClassVisitor classVisitor)
Creates a new ClassNameFilter.
|
FunctionalInterfaceFilter(ClassVisitor classVisitor)
Creates a new ProgramClassFilter.
|
ImplementedClassFilter(Clazz implementedClass,
boolean includeImplementedClass,
ClassVisitor acceptedClassVisitor,
ClassVisitor rejectedClassVisistor)
Creates a new ImplementedClassFilter.
|
LibraryClassFilter(ClassVisitor classVisitor)
Creates a new LibraryClassFilter.
|
MemberDescriptorReferencedClassVisitor(ClassVisitor classVisitor) |
MemberToClassVisitor(ClassVisitor classVisitor) |
MultiClassVisitor(ClassVisitor... classVisitors) |
NamedClassVisitor(ClassVisitor classVisitor,
String name) |
ProgramClassFilter(ClassVisitor classVisitor)
Creates a new ProgramClassFilter.
|
ReferencedClassVisitor(ClassVisitor classVisitor) |
SignatureAttributeReferencedClassVisitor(ClassVisitor classVisitor) |
SingleTimeClassVisitor(ClassVisitor classVisitor) |
SubclassFilter(Clazz subclass,
ClassVisitor classVisitor)
Creates a new SubclassFilter.
|
SubclassTraveler(ClassVisitor classVisitor)
Creates a new ClassHierarchyTraveler.
|
VariableClassVisitor(ClassVisitor classVisitor) |
| 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 |
DataEntryClassWriter
This ClassVisitor writes out the ProgramClass objects that it visits to the
given DataEntry, modified to have the correct name.
|
| Constructor and Description |
|---|
ClassReader(boolean isLibrary,
boolean skipNonPublicLibraryClasses,
boolean skipNonPublicLibraryClassMembers,
WarningPrinter warningPrinter,
ClassVisitor classVisitor)
Creates a new DataEntryClassFilter for reading the specified
Clazz objects.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AttributeShrinker
This ClassVisitor removes attributes that are not marked as being used or
required.
|
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. |
class |
MapCleaner
This ClassVisitor clears a given map whenever it visits a class.
|
class |
MappingPrinter
This ClassVisitor prints out the renamed classes and class members with
their old names and new names.
|
class |
NameFactoryResetter
This ClassVisitor resets a given name factory whenever it visits a class
file.
|
class |
RenamedFlagSetter
This ClassVisitor sets the ACC_RENAMED flag for classes or class members
that have been renamed.
|
class |
SourceFileRenamer
This ClassVisitor changes the name stored in the source file attributes
and source dir attributes of the classes that it visits, if the
attributes are present.
|
| Modifier and Type | Class and Description |
|---|---|
class |
KeepMarker
This
ClassVisitor, MemberVisitor and
AttributeVisitor marks classes, class members and
code attributes it visits. |
class |
KeptClassFilter
This ClassVisitor delegates its visits to one of two ClassVisitor's,
depending on whether the visited class is kept or not.
|
class |
OptimizationInfoClassFilter
This
ClassVisitor delegates its visits to another given
ClassVisitor, but only when the visited class has editable
optimization info. |
| Constructor and Description |
|---|
KeptClassFilter(ClassVisitor acceptedVisitor)
Creates a new KeptClassFilter.
|
KeptClassFilter(ClassVisitor acceptedVisitor,
ClassVisitor rejectedVisitor)
Creates a new KeptClassFilter.
|
OptimizationInfoClassFilter(ClassVisitor classVisitor)
Creates a new OptimizationInfoClassFilter.
|
| Modifier and Type | Class and Description |
|---|---|
class |
SimpleEnumArrayPropagator
This ClassVisitor propagates the value of the $VALUES field to the values()
method in the simple enum classes that it visits.
|
class |
SimpleEnumClassChecker
This ClassVisitor marks all program classes that it visits as simple enums,
if their methods qualify.
|
class |
SimpleEnumClassSimplifier
This ClassVisitor simplifies the classes that it visits to simple enums.
|
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.
|
| Modifier and Type | Class and Description |
|---|---|
class |
GsonAnnotationCleaner
This class visitor removes Gson annotations that are not required anymore
after the Gson optimizations are applied.
|
class |
GsonDeserializationOptimizer
This visitor injects a fromJson$xxx() method into the classes that it visits
that deserializes its fields from Json.
|
class |
GsonDomainClassFinder
This class visitor determines whether a given domain class can be optimized
by the GSON optimizations and traverses both the class and field hierarchy
to look for further domain classes.
|
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.
|
class |
OptimizedTypeAdapterAdder
This ClassVisitor visits domain classes that can be involved in a GSON
(de)serialization and injects an optimized TypeAdapter for each of them.
|
class |
OptimizedTypeAdapterInitializer
This class visitor transforms the template _OptimizedTypeAdapter into a full
implementation of a GSON TypeAdapter for a specific domain class.
|
| Constructor and Description |
|---|
GsonBuilderInvocationFinder(ClassPool programClassPool,
GsonRuntimeSettings gsonRuntimeSettings,
ClassVisitor instanceCreatorClassVisitor,
ClassVisitor typeAdapterClassVisitor)
Creates a new GsonBuilderInvocationFinder.
|
GsonDeserializationInvocationFinder(ClassPool programClassPool,
ClassVisitor domainClassVisitor,
WarningPrinter notePrinter)
Creates a new GsonDeserializationInvocationFinder.
|
GsonSerializationInvocationFinder(ClassPool programClassPool,
ClassVisitor domainClassVisitor,
WarningPrinter notePrinter)
Creates a new GsonSerializationInvocationFinder.
|
OptimizedJsonFieldVisitor(ClassVisitor classVisitor,
MemberVisitor memberVisitor)
Creates a new OptimizedJsonFieldVisitor.
|
OptimizedTypeAdapterInitializer(String typeAdapterClassName,
ProgramClass objectProgramClass,
CodeAttributeEditor codeAttributeEditor,
OptimizedJsonInfo serializationInfo,
OptimizedJsonInfo deserializationInfo,
ClassPool instanceCreatorClasses,
ClassVisitor classVisitor)
Creates a new OptimizedTypeAdapterInitializer.
|
| 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 |
CaughtClassFilter
This ClassVisitor delegates all its method calls to another ClassVisitor,
but only for Clazz objects that are caught as exceptions.
|
class |
CaughtClassMarker
This ClassVisitor marks all program classes that it visits as caught.
|
class |
DotClassFilter
This ClassVisitor delegates all its method calls to another ClassVisitor,
but only for Clazz objects that are used in a .class construct.
|
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 |
EscapingClassFilter
This ClassVisitor delegates its visits to one of two other given
ClassVisitor instances, depending on whether the classes are marked to be
escaping or not.
|
class |
EscapingClassMarker
This AttributeVisitor marks the classes that are escaping from the visited
code attributes.
|
class |
InstanceofClassFilter
This ClassVisitor delegates all its method calls to another ClassVisitor,
but only for Clazz objects that are used in an 'instanceof' test.
|
class |
InstanceofClassMarker
This InstructionVisitor marks all classes that are used in an 'instanceof'
test by any of the instructions that it visits.
|
class |
InstantiationClassFilter
This ClassVisitor delegates all its method calls to another ClassVisitor,
but only for Clazz objects that are instantiated.
|
class |
InstantiationClassMarker
This InstructionVisitor marks all classes that are instantiated by any of
the instructions that it visits.
|
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 |
NoSideEffectClassMarker
This ClassVisitor marks all classes 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 |
ProgramClassOptimizationInfoSetter
This ClassVisitor attaches a ProgramClassOptimizationInfo instance to every
class that is not being kept that it visits.
|
class |
SideEffectClassFilter
This ClassVisitor delegates all its method calls to another ClassVisitor,
but only for Clazz objects that have side effects when they are initialized.
|
class |
SideEffectClassMarker
This ClassVisitor marks all classes that it visits as having side effects.
|
class |
SimpleEnumFilter
This ClassVisitor delegates its visits to one of two other given
ClassVisitor instances, depending on whether the classes are marked
as simple enums or not.
|
class |
SimpleEnumMarker
This ClassVisitor marks all program classes that it visits with a given
flag for simple enums.
|
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 |
|---|
CaughtClassFilter(ClassVisitor classVisitor) |
DotClassFilter(ClassVisitor classVisitor) |
EscapingClassFilter(ClassVisitor escapingClassVisitor)
Creates a new EscapingClassFilter.
|
EscapingClassFilter(ClassVisitor escapingClassVisitor,
ClassVisitor otherClassVisitor)
Creates a new EscapingClassFilter.
|
InstanceofClassFilter(ClassVisitor classVisitor) |
InstantiationClassFilter(ClassVisitor classVisitor) |
SideEffectClassFilter(ClassVisitor classVisitor) |
SimpleEnumFilter(ClassVisitor simpleEnumClassVisitor)
Creates a new SimpleEnumClassFilter.
|
SimpleEnumFilter(ClassVisitor simpleEnumClassVisitor,
ClassVisitor otherClassVisitor)
Creates a new SimpleEnumClassFilter.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ClassFinalizer
This
ClassVisitor makes the program classes that it visits
final, if possible. |
class |
ClassMerger
This ClassVisitor inlines the classes that it visits in a given target class,
whenever possible.
|
class |
HorizontalClassMerger
This ClassVisitor inlines siblings in the program classes that it visits,
whenever possible.
|
class |
LineNumberLinearizer
This ClassVisitor disambiguates line numbers, in the classes that it
visits.
|
class |
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.
|
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.
|
class |
VerticalClassMerger
This ClassVisitor inlines the direct subclasses into the program classes
that it visits, whenever possible.
|
class |
WrapperClassMerger
This ClassVisitor inlines the wrapper classes that it visits into their
wrapped classes, whenever possible.
|
class |
WrapperClassUseSimplifier
This AttributeVisitor simplifies the use of retargeted wrapper classes in
the code attributes that it visits.
|
| Constructor and Description |
|---|
ClassFinalizer(ClassVisitor extraClassVisitor)
Creates a new ClassFinalizer.
|
ClassMerger(ProgramClass targetClass,
boolean allowAccessModification,
boolean mergeInterfacesAggressively,
boolean mergeWrapperClasses,
ClassVisitor extraClassVisitor)
Creates a new ClassMerger that will merge classes into the given target
class.
|
HorizontalClassMerger(boolean allowAccessModification,
boolean mergeInterfacesAggressively,
ClassVisitor extraClassVisitor)
Creates a new VerticalClassMerger.
|
RetargetedClassFilter(ClassVisitor retargetedClassVisitor)
Creates a new RetargetedClassFilter.
|
RetargetedClassFilter(ClassVisitor retargetedClassVisitor,
ClassVisitor otherClassVisitor)
Creates a new RetargetedClassFilter.
|
VerticalClassMerger(boolean allowAccessModification,
boolean mergeInterfacesAggressively,
ClassVisitor extraClassVisitor)
Creates a new VerticalClassMerger.
|
WrapperClassMerger(boolean allowAccessModification,
ClassVisitor extraClassVisitor)
Creates a new WrappedClassMerger.
|
| 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 |
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 |
NestUsageMarker
This AttributeVisitor marks all necessary nest host attributes and nest
members attributes that it visits.
|
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 |
UsedClassFilter
This ClassVisitor delegates all its method calls to another ClassVisitor,
but only for Clazz objects that are marked as used.
|
| Constructor and Description |
|---|
UsedClassFilter(proguard.shrink.UsageMarker usageMarker,
ClassVisitor classVisitor)
Creates a new UsedClassFilter.
|
Copyright © 2019. All rights reserved.