| Package | Description |
|---|---|
| proguard.evaluation | |
| proguard.evaluation.value |
This package contains classes that represent partial evaluation values.
|
| 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.
|
| Modifier and Type | Field and Description |
|---|---|
protected ValueFactory |
BasicInvocationUnit.valueFactory |
protected ValueFactory |
ConstantValueFactory.valueFactory |
| Constructor and Description |
|---|
AssumeClassSpecificationVisitorFactory(ValueFactory valueFactory) |
BasicInvocationUnit(ValueFactory valueFactory)
Creates a new BasicInvocationUnit with the given value factory.
|
ClassConstantValueFactory(ValueFactory valueFactory) |
ConstantValueFactory(ValueFactory valueFactory) |
Processor(Variables variables,
Stack stack,
ValueFactory valueFactory,
BranchUnit branchUnit,
InvocationUnit invocationUnit,
boolean alwaysCast)
Creates a new processor that operates on the given environment.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ArrayReferenceValueFactory
This identified value factory creates array reference values that also
represent their elements, in as far as possible.
|
class |
BasicValueFactory
This class provides methods to create and reuse Value objects.
|
class |
DetailedArrayValueFactory
This identified value factory creates array reference values that also
represent their elements, in as far as possible.
|
class |
IdentifiedValueFactory
This class provides methods to create and reuse Value objects that are
identified by unique integer IDs.
|
class |
ParticularValueFactory
This class provides methods to create and reuse Value objects that have
particular values, whenever they are known.
|
class |
PrimitiveTypedReferenceValueFactory
This class provides methods to create and reuse Value objects.
|
class |
RangeValueFactory
This class provides methods to create and reuse Value objects that have
known ranges.
|
class |
TypedReferenceValueFactory
This class provides methods to create and reuse Value objects.
|
| Modifier and Type | Method and Description |
|---|---|
IntegerValue |
ReferenceValue.arrayLength(ValueFactory valueFactory)
Returns the length of the array, assuming this type is an array.
|
IntegerValue |
TracedReferenceValue.arrayLength(ValueFactory valueFactory) |
abstract ReferenceValue |
ReferenceValue.cast(String type,
Clazz referencedClass,
ValueFactory valueFactory,
boolean alwaysCast)
Returns this ReferenceValue, cast to the given type.
|
ReferenceValue |
UnknownReferenceValue.cast(String type,
Clazz referencedClass,
ValueFactory valueFactory,
boolean alwaysCast) |
ReferenceValue |
TypedReferenceValue.cast(String type,
Clazz referencedClass,
ValueFactory valueFactory,
boolean alwaysCast) |
ReferenceValue |
TracedReferenceValue.cast(String type,
Clazz referencedClass,
ValueFactory valueFactory,
boolean alwaysCast) |
DoubleValue |
ReferenceValue.doubleArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an double array.
|
DoubleValue |
TracedReferenceValue.doubleArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory) |
FloatValue |
ReferenceValue.floatArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an float array.
|
FloatValue |
TracedReferenceValue.floatArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory) |
IntegerValue |
ReferenceValue.integerArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an integer array.
|
IntegerValue |
TracedReferenceValue.integerArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory) |
LongValue |
ReferenceValue.longArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an long array.
|
LongValue |
TracedReferenceValue.longArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory) |
ReferenceValue |
ReferenceValue.referenceArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is a reference array.
|
ReferenceValue |
TypedReferenceValue.referenceArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory) |
ReferenceValue |
TracedReferenceValue.referenceArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory) |
| Constructor and Description |
|---|
InitialValueFactory(ValueFactory valueFactory)
Creates a new InitialValueFactory.
|
ParticularValueFactory(ValueFactory referenceValueFactory)
Creates a new ParticularValueFactory that delegates to the given
value factory for creating reference values.
|
RangeValueFactory(ValueFactory referenceValueFactory)
Creates a new RangeValueFactory that delegates to the given
value factory for creating reference values.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ReferenceTracingValueFactory
This ValueFactory tags newly created reference values so they can be traced
throughout the execution of a method.
|
| Constructor and Description |
|---|
LoadingInvocationUnit(ValueFactory valueFactory)
Creates a new LoadingInvocationUnit with the given value factory.
|
LoadingInvocationUnit(ValueFactory valueFactory,
boolean loadFieldValues,
boolean loadMethodParameterValues,
boolean loadMethodReturnValues)
Creates a new LoadingInvocationUnit with the given value factory, for
loading the specified values.
|
PartialEvaluator(ValueFactory valueFactory)
Creates a new PartialEvaluator.
|
PartialEvaluator(ValueFactory valueFactory,
InvocationUnit invocationUnit,
boolean evaluateAllCode)
Creates a new PartialEvaluator.
|
PartialEvaluator(ValueFactory valueFactory,
InvocationUnit invocationUnit,
boolean evaluateAllCode,
InstructionVisitor extraInstructionVisitor)
Creates a new PartialEvaluator.
|
ReferenceTracingValueFactory(ValueFactory valueFactory)
Creates a new ReferenceTracingValueFactory that attaches instruction
offset values based on being used as an instruction visitor.
|
ReferenceTracingValueFactory(ValueFactory valueFactory,
boolean preserveTraceValueOnCasts)
Creates a new ReferenceTracingValueFactory that attaches instruction
offset values based on being used as an instruction visitor.
|
StoringInvocationUnit(ValueFactory valueFactory)
Creates a new StoringInvocationUnit with the given value factory.
|
StoringInvocationUnit(ValueFactory valueFactory,
boolean storeFieldValues,
boolean storeMethodParameterValues,
boolean storeMethodReturnValues)
Creates a new StoringInvocationUnit with the given value factory, for
storing the specified values.
|
| Constructor and Description |
|---|
EscapingClassMarker(ValueFactory valueFactory)
Creates a new EscapingClassMarker.
|
EscapingClassMarker(ValueFactory valueFactory,
ReferenceTracingValueFactory tracingValueFactory)
Creates a new EscapingClassMarker.
|
ParameterEscapeMarker(MutableBoolean repeatTrigger,
ValueFactory valueFactory)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(MutableBoolean repeatTrigger,
ValueFactory valueFactory,
ReferenceTracingValueFactory tracingValueFactory)
Creates a new ParameterEscapeMarker.
|
Copyright © 2019. All rights reserved.