Package proguard.evaluation.value
Interface ValueFactory
-
- All Known Implementing Classes:
ArrayReferenceValueFactory
,BasicRangeValueFactory
,BasicValueFactory
,DetailedArrayValueFactory
,IdentifiedValueFactory
,JvmCfaReferenceValueFactory
,MultiTypedReferenceValueFactory
,ParticularReferenceValueFactory
,ParticularValueFactory
,PrimitiveTypedReferenceValueFactory
,RangeValueFactory
,ReferenceTracingValueFactory
,TypedReferenceValueFactory
public interface ValueFactory
This interface provides methods to createValue
instances.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description ReferenceValue
createArrayReferenceValue(java.lang.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
createArrayReferenceValue(java.lang.String type, Clazz referencedClass, IntegerValue arrayLength, java.lang.Object elementValues)
Creates a new ReferenceValue that represents a non-null array with elements of the given type, with the given length and initial element values.DoubleValue
createDoubleValue()
Creates a new DoubleValue with an undefined value.DoubleValue
createDoubleValue(double value)
Creates a new DoubleValue with a given particular value.FloatValue
createFloatValue()
Creates a new FloatValue with an undefined value.FloatValue
createFloatValue(float value)
Creates a new FloatValue with a given particular value.IntegerValue
createIntegerValue()
Creates a new IntegerValue with an undefined value.IntegerValue
createIntegerValue(int value)
Creates a new IntegerValue with a given particular value.IntegerValue
createIntegerValue(int min, int max)
Creates a new IntegerValue with a given possible range.LongValue
createLongValue()
Creates a new LongValue with an undefined value.LongValue
createLongValue(long value)
Creates a new LongValue with a given particular value.ReferenceValue
createReferenceValue()
Creates a new ReferenceValue of an undefined type.ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)
Creates a new ReferenceValue that represents the given type.ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object value)
Deprecated.ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset)
Creates a new ReferenceValue that represents the given type, created at the specified code location.ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset, java.lang.Object value)
Deprecated.default ReferenceValue
createReferenceValue(Clazz clazz)
default ReferenceValue
createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type.default ReferenceValue
createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, CodeLocation creationLocation, @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type, created at the specified code location.default ReferenceValue
createReferenceValue(Clazz clazz, @NotNull AnalyzedObject value)
default ReferenceValue
createReferenceValue(Clazz clazz, java.lang.Object value)
Deprecated.ReferenceValue
createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object id)
Creates a new ReferenceValue that represents the given type with a specified ID.ReferenceValue
createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object id, java.lang.Object value)
Deprecated.default ReferenceValue
createReferenceValueForId(Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object id, @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type with a specified ID.ReferenceValue
createReferenceValueNull()
Creates a new ReferenceValue that representsnull
.Value
createValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)
Creates a new Value of the given type.
-
-
-
Method Detail
-
createValue
Value createValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)
Creates a new Value of the given type. The type must be a fully specified internal type for primitives, classes, or arrays.
-
createIntegerValue
IntegerValue createIntegerValue()
Creates a new IntegerValue with an undefined value.
-
createIntegerValue
IntegerValue createIntegerValue(int value)
Creates a new IntegerValue with a given particular value.
-
createIntegerValue
IntegerValue createIntegerValue(int min, int max)
Creates a new IntegerValue with a given possible range.
-
createLongValue
LongValue createLongValue()
Creates a new LongValue with an undefined value.
-
createLongValue
LongValue createLongValue(long value)
Creates a new LongValue with a given particular value.
-
createFloatValue
FloatValue createFloatValue()
Creates a new FloatValue with an undefined value.
-
createFloatValue
FloatValue createFloatValue(float value)
Creates a new FloatValue with a given particular value.
-
createDoubleValue
DoubleValue createDoubleValue()
Creates a new DoubleValue with an undefined value.
-
createDoubleValue
DoubleValue createDoubleValue(double value)
Creates a new DoubleValue with a given particular value.
-
createReferenceValue
ReferenceValue createReferenceValue()
Creates a new ReferenceValue of an undefined type.
-
createReferenceValueNull
ReferenceValue createReferenceValueNull()
Creates a new ReferenceValue that representsnull
.
-
createReferenceValue
default ReferenceValue createReferenceValue(Clazz clazz)
-
createReferenceValue
@Deprecated default ReferenceValue createReferenceValue(Clazz clazz, java.lang.Object value)
Deprecated.Deprecated, usecreateReferenceValue(Clazz, AnalyzedObject)
.
-
createReferenceValue
default ReferenceValue createReferenceValue(Clazz clazz, @NotNull @NotNull AnalyzedObject value)
-
createReferenceValue
ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)
Creates a new ReferenceValue that represents the given type. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.
-
createReferenceValue
@Deprecated ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object value)
Deprecated.Creates a new ReferenceValue that represents the given type. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
. The object is the actual value of the reference during execution (can be null).Deprecated, use
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject)
.
-
createReferenceValue
default ReferenceValue createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, @NotNull @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.The object wrapped by
AnalyzedObject
is either the value of the reference during execution or aModel
of it.
-
createReferenceValue
ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset)
Creates a new ReferenceValue that represents the given type, created at the specified code location. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.
-
createReferenceValue
@Deprecated ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset, java.lang.Object value)
Deprecated.Creates a new ReferenceValue that represents the given type, created at the specified code location. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
. The object is the actual value of the reference during execution (can be null).Deprecated, use
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)
-
createReferenceValue
default ReferenceValue createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, CodeLocation creationLocation, @NotNull @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type, created at the specified code location. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.The object wrapped by
AnalyzedObject
is either the value of the reference during execution or aModel
of it.
-
createReferenceValueForId
ReferenceValue createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object id)
Creates a new ReferenceValue that represents the given type with a specified ID. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.
-
createReferenceValueForId
@Deprecated ReferenceValue createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object id, java.lang.Object value)
Deprecated.Creates a new ReferenceValue that represents the given type with a specified ID. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
. The object is the actual value of the reference during execution (can be null).Deprecated, use
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject)
.
-
createReferenceValueForId
default ReferenceValue createReferenceValueForId(Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object id, @NotNull @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type with a specified ID. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.The object wrapped by
AnalyzedObject
is either the value of the reference during execution or aModel
of it.
-
createArrayReferenceValue
ReferenceValue createArrayReferenceValue(java.lang.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.
-
createArrayReferenceValue
ReferenceValue createArrayReferenceValue(java.lang.String type, Clazz referencedClass, IntegerValue arrayLength, java.lang.Object elementValues)
Creates a new ReferenceValue that represents a non-null array with elements of the given type, with the given length and initial element values.
-
-