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 ValueFactoryThis interface provides methods to createValueinstances.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description ReferenceValuecreateArrayReferenceValue(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.ReferenceValuecreateArrayReferenceValue(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.DoubleValuecreateDoubleValue()Creates a new DoubleValue with an undefined value.DoubleValuecreateDoubleValue(double value)Creates a new DoubleValue with a given particular value.FloatValuecreateFloatValue()Creates a new FloatValue with an undefined value.FloatValuecreateFloatValue(float value)Creates a new FloatValue with a given particular value.IntegerValuecreateIntegerValue()Creates a new IntegerValue with an undefined value.IntegerValuecreateIntegerValue(int value)Creates a new IntegerValue with a given particular value.IntegerValuecreateIntegerValue(int min, int max)Creates a new IntegerValue with a given possible range.LongValuecreateLongValue()Creates a new LongValue with an undefined value.LongValuecreateLongValue(long value)Creates a new LongValue with a given particular value.ReferenceValuecreateReferenceValue()Creates a new ReferenceValue of an undefined type.ReferenceValuecreateReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)Creates a new ReferenceValue that represents the given type.ReferenceValuecreateReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object value)Deprecated.ReferenceValuecreateReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, CodeLocation creationLocation)Creates a new ReferenceValue that represents the given type, created at the specified code location.ReferenceValuecreateReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset)Deprecated.ReferenceValuecreateReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset, java.lang.Object value)Deprecated.default ReferenceValuecreateReferenceValue(Clazz clazz)default ReferenceValuecreateReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, @NotNull AnalyzedObject value)Creates a new ReferenceValue that represents the given type.default ReferenceValuecreateReferenceValue(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 ReferenceValuecreateReferenceValue(Clazz clazz, @NotNull AnalyzedObject value)default ReferenceValuecreateReferenceValue(Clazz clazz, java.lang.Object value)Deprecated.ReferenceValuecreateReferenceValueForId(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.ReferenceValuecreateReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, java.lang.Object id, java.lang.Object value)Deprecated.default ReferenceValuecreateReferenceValueForId(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.ReferenceValuecreateReferenceValueNull()Creates a new ReferenceValue that representsnull.ValuecreateValue(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
AnalyzedObjectis either the value of the reference during execution or aModelof it.
-
createReferenceValue
@Deprecated ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset)
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.Deprecated, use
createReferenceValue(String, Clazz, boolean, boolean, CodeLocation)
-
createReferenceValue
ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, CodeLocation creationLocation)
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
AnalyzedObjectis either the value of the reference during execution or aModelof 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
AnalyzedObjectis either the value of the reference during execution or aModelof 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.
-
-