| Interface | Description |
|---|---|
| KeepRules |
Represents the -keep* flags from a ProGuard config file.
|
| ShrinkerGraph<T> |
State that
FullRunShrinker and IncrementalShrinker use for their computations. |
| Class | Description |
|---|---|
| AbstractShrinker<T> |
Common code for both types of shrinker runs,
FullRunShrinker and IncrementalShrinker. |
| ClassStructureVisitor<T> |
ClassVisitor that adds visited classes, methods and fields to a ShrinkerGraph. |
| Dependency<T> |
Edge in the shrinker graph.
|
| DependencyRemoverVisitor<T> |
A
ClassVisitor that removes dependencies created by code references of the given class. |
| FullRunShrinker<T> |
Code shrinker.
|
| IncrementalShrinker<T> |
Code for incremental shrinking.
|
| JavaSerializationShrinkerGraph |
Simple
ShrinkerGraph implementation that uses strings, maps and Java serialization. |
| ProguardConfig |
Stub of a real parser.
|
| ProguardParserKeepRules |
Implementation of
KeepRules that uses ProguardFlags obtained from parsing a
ProGuard config file. |
| RewriteOutputVisitor |
ClassVisitor that skips class members which are not reachable. |
| ShrinkerLogger |
Shrinker-specific logger that can be configured with -dontwarn flag.
|
| TypeHierarchyTraverser<T> |
TreeTraverser that finds all supertypes (both superclasses and interfaces) of types. |
| Enum | Description |
|---|---|
| AbstractShrinker.CounterSet |
Set of counters, for keeping different sets of reachable nodes for different purposes.
|
| DependencyType |
Type of the dependency (edge) between two nodes in the shrinker graph.
|
| Exception | Description |
|---|---|
| ClassLookupException |
Checked exception thrown by all graph operations that may fail due to invalid class being
referenced.
|
| IncrementalShrinker.IncrementalRunImpossibleException |
Exception thrown when the incremental shrinker detects incompatible changes and requests a
full run instead.
|