| 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 | Method and Description |
|---|---|
ReferenceValue |
Variables.aload(int index)
Loads the ReferenceValue from the variable with the given index.
|
ReferenceValue |
Stack.apop()
Pops the top ReferenceValue from the stack.
|
| Modifier and Type | Method and Description |
|---|---|
void |
BasicInvocationUnit.setFieldClassValue(Clazz clazz,
RefConstant refConstant,
ReferenceValue value) |
abstract void |
SimplifiedInvocationUnit.setFieldClassValue(Clazz clazz,
RefConstant refConstant,
ReferenceValue value)
Sets the class through which the specified field is accessed.
|
| Modifier and Type | Class and Description |
|---|---|
class |
TracedReferenceValue
This ReferenceValue represents a reference value that is tagged with a trace
value.
|
class |
TypedReferenceValue
This ReferenceValue represents a partially evaluated reference value.
|
class |
UnknownReferenceValue
This class represents a partially evaluated reference value.
|
| Modifier and Type | Method and Description |
|---|---|
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) |
ReferenceValue |
BasicValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
TypedReferenceValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
ParticularValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
ValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength)
Creates a new ReferenceValue that represents a non-null array with
elements of the given type, with the given length.
|
ReferenceValue |
DetailedArrayValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
IdentifiedValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
PrimitiveTypedReferenceValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
ArrayReferenceValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
BasicValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength,
Value elementValue) |
ReferenceValue |
TypedReferenceValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength,
Value elementValue) |
ReferenceValue |
ParticularValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength,
Value elementValue) |
ReferenceValue |
ValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength,
Value elementValue)
Creates a new ReferenceValue that represents a non-null array with
elements of the given type, with the given length and initial element
values.
|
ReferenceValue |
BasicValueFactory.createReferenceValue() |
ReferenceValue |
ParticularValueFactory.createReferenceValue() |
ReferenceValue |
ValueFactory.createReferenceValue()
Creates a new ReferenceValue of an undefined type.
|
ReferenceValue |
BasicValueFactory.createReferenceValue(String type,
Clazz referencedClass,
boolean mayBeExtension,
boolean mayBeNull) |
ReferenceValue |
TypedReferenceValueFactory.createReferenceValue(String type,
Clazz referencedClass,
boolean mayBeExtension,
boolean mayBeNull) |
ReferenceValue |
ParticularValueFactory.createReferenceValue(String type,
Clazz referencedClass,
boolean mayBeExtension,
boolean mayBeNull) |
ReferenceValue |
ValueFactory.createReferenceValue(String type,
Clazz referencedClass,
boolean mayBeExtension,
boolean mayBeNull)
Creates a new ReferenceValue that represents the given type.
|
ReferenceValue |
IdentifiedValueFactory.createReferenceValue(String type,
Clazz referencedClass,
boolean mayBeExtension,
boolean mayBeNull) |
ReferenceValue |
PrimitiveTypedReferenceValueFactory.createReferenceValue(String type,
Clazz referencedClass,
boolean mayBeExtension,
boolean mayBeNull) |
ReferenceValue |
BasicValueFactory.createReferenceValueNull() |
ReferenceValue |
TypedReferenceValueFactory.createReferenceValueNull() |
ReferenceValue |
ParticularValueFactory.createReferenceValueNull() |
ReferenceValue |
ValueFactory.createReferenceValueNull()
Creates a new ReferenceValue that represents
null. |
ReferenceValue |
PrimitiveTypedReferenceValueFactory.createReferenceValueNull() |
ReferenceValue |
ReferenceValue.generalize(proguard.evaluation.value.ArrayReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
ArrayReferenceValue.
|
ReferenceValue |
TracedReferenceValue.generalize(proguard.evaluation.value.ArrayReferenceValue other) |
ReferenceValue |
ReferenceValue.generalize(proguard.evaluation.value.DetailedArrayReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
DetailedArrayReferenceValue.
|
ReferenceValue |
TracedReferenceValue.generalize(proguard.evaluation.value.DetailedArrayReferenceValue other) |
ReferenceValue |
ReferenceValue.generalize(proguard.evaluation.value.IdentifiedArrayReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
IdentifiedArrayReferenceValue.
|
ReferenceValue |
TracedReferenceValue.generalize(proguard.evaluation.value.IdentifiedArrayReferenceValue other) |
ReferenceValue |
ReferenceValue.generalize(proguard.evaluation.value.IdentifiedReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
IdentifiedReferenceValue.
|
ReferenceValue |
TracedReferenceValue.generalize(proguard.evaluation.value.IdentifiedReferenceValue other) |
abstract ReferenceValue |
ReferenceValue.generalize(ReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
ReferenceValue.
|
ReferenceValue |
UnknownReferenceValue.generalize(ReferenceValue other) |
ReferenceValue |
TypedReferenceValue.generalize(ReferenceValue other) |
ReferenceValue |
TracedReferenceValue.generalize(ReferenceValue other) |
ReferenceValue |
ReferenceValue.generalize(TracedReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
TracedReferenceValue.
|
ReferenceValue |
TracedReferenceValue.generalize(TracedReferenceValue other) |
ReferenceValue |
ReferenceValue.generalize(TypedReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
TypedReferenceValue.
|
ReferenceValue |
TypedReferenceValue.generalize(TypedReferenceValue other) |
ReferenceValue |
TracedReferenceValue.generalize(TypedReferenceValue other) |
ReferenceValue |
ReferenceValue.generalize(UnknownReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
UnknownReferenceValue.
|
ReferenceValue |
TracedReferenceValue.generalize(UnknownReferenceValue other) |
ReferenceValue |
TypedReferenceValue.generalizeMayBeNull(boolean mayBeNull) |
ReferenceValue |
TracedReferenceValue.getReferenceValue()
Returns the reference value.
|
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) |
ReferenceValue |
ReferenceValue.referenceValue() |
ReferenceValue |
TracingValue.referenceValue() |
ReferenceValue |
Value.referenceValue()
Returns this Value as a ReferenceValue.
|
| Modifier and Type | Method and Description |
|---|---|
abstract int |
ReferenceValue.equal(ReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
ReferenceValue.
|
int |
UnknownReferenceValue.equal(ReferenceValue other) |
int |
TypedReferenceValue.equal(ReferenceValue other) |
int |
TracedReferenceValue.equal(ReferenceValue other) |
abstract ReferenceValue |
ReferenceValue.generalize(ReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
ReferenceValue.
|
ReferenceValue |
UnknownReferenceValue.generalize(ReferenceValue other) |
ReferenceValue |
TypedReferenceValue.generalize(ReferenceValue other) |
ReferenceValue |
TracedReferenceValue.generalize(ReferenceValue other) |
int |
ReferenceValue.notEqual(ReferenceValue other)
Returns whether this ReferenceValue and the given ReferenceValue are different.
|
| Constructor and Description |
|---|
TracedReferenceValue(ReferenceValue referenceValue,
Value traceValue)
Creates a new reference value with the given ID.
|
| Modifier and Type | Method and Description |
|---|---|
ReferenceValue |
ReferenceTracingValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength) |
ReferenceValue |
ReferenceTracingValueFactory.createArrayReferenceValue(String type,
Clazz referencedClass,
IntegerValue arrayLength,
Value elementValue)
Creates a new ReferenceValue that represents an array with elements of
the given type, with the given length and initial element values.
|
ReferenceValue |
ReferenceTracingValueFactory.createReferenceValue() |
ReferenceValue |
ReferenceTracingValueFactory.createReferenceValue(String type,
Clazz referencedClass,
boolean mayBeExtension,
boolean mayBeNull) |
ReferenceValue |
ReferenceTracingValueFactory.createReferenceValueNull() |
static ReferenceValue |
StoringInvocationUnit.getFieldClassValue(Field field) |
ReferenceValue |
ReferenceTracingValueFactory.trace(ReferenceValue referenceValue)
Attaches the current trace value to given reference value.
|
| Modifier and Type | Method and Description |
|---|---|
void |
StoringInvocationUnit.setFieldClassValue(Clazz clazz,
RefConstant refConstant,
ReferenceValue value) |
void |
ReferenceTracingInvocationUnit.setFieldClassValue(Clazz clazz,
RefConstant refConstant,
ReferenceValue value) |
ReferenceValue |
ReferenceTracingValueFactory.trace(ReferenceValue referenceValue)
Attaches the current trace value to given reference value.
|
| Modifier and Type | Method and Description |
|---|---|
ReferenceValue |
FieldOptimizationInfo.getReferencedClass() |
ReferenceValue |
ProgramFieldOptimizationInfo.getReferencedClass() |
| Modifier and Type | Method and Description |
|---|---|
void |
ProgramFieldOptimizationInfo.generalizeReferencedClass(ReferenceValue referencedClass) |
Copyright © 2019. All rights reserved.