Package proguard.evaluation.value
Class IdentifiedValueFactory
java.lang.Object
proguard.evaluation.value.BasicValueFactory
proguard.evaluation.value.ParticularValueFactory
proguard.evaluation.value.IdentifiedValueFactory
- All Implemented Interfaces:
ValueFactory
- Direct Known Subclasses:
DetailedArrayValueFactory
This class provides methods to create and reuse Value instances that are identified by unique
integer IDs.
-
Field Summary
Fields inherited from class proguard.evaluation.value.ParticularValueFactory
referenceValueFactoryFields inherited from class proguard.evaluation.value.BasicValueFactory
DOUBLE_VALUE, FLOAT_VALUE, INTEGER_VALUE, LONG_VALUE, REFERENCE_VALUE, UNKNOWN_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new IdentifiedValueFactory which does not keep track of particular references.IdentifiedValueFactory(ValueFactory referenceValueFactory) Creates a new IdentifiedValueFactory, which uses the given valuefactory for both array and non-array reference construction.IdentifiedValueFactory(ValueFactory arrayReferenceValueFactory, ValueFactory referenceValueFactory) Creates a new IdentifiedValueFactory. -
Method Summary
Modifier and TypeMethodDescriptioncreateArrayReferenceValue(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.Creates a new DoubleValue with an undefined value.Creates a new FloatValue with an undefined value.Creates a new IntegerValue with an undefined value.Creates a new LongValue with an undefined value.createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull) Creates a new ReferenceValue that represents the given type.createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Object value) Deprecated.createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset) Deprecated.createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, Object value) Deprecated.createReferenceValueForId(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Object id) Creates a new ReferenceValue that represents the given type with a specified ID.createReferenceValueForId(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Object id, Object value) Deprecated.static intMethods inherited from class proguard.evaluation.value.ParticularValueFactory
createArrayReferenceValue, createDoubleValue, createFloatValue, createIntegerValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueNullMethods inherited from class proguard.evaluation.value.BasicValueFactory
checkCreationLocation, checkReferenceValue, createIntegerValue, createValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface proguard.evaluation.value.ValueFactory
createIntegerValue, createReferenceValue, createReferenceValue, createReferenceValue, createValue
-
Constructor Details
-
IdentifiedValueFactory
public IdentifiedValueFactory()Creates a new IdentifiedValueFactory which does not keep track of particular references. -
IdentifiedValueFactory
Creates a new IdentifiedValueFactory, which uses the given valuefactory for both array and non-array reference construction. -
IdentifiedValueFactory
public IdentifiedValueFactory(ValueFactory arrayReferenceValueFactory, ValueFactory referenceValueFactory) Creates a new IdentifiedValueFactory.- Parameters:
arrayReferenceValueFactory- the valuefactory to delegate new array references to.referenceValueFactory- the valuefactory to delegate new references to.
-
-
Method Details
-
createIntegerValue
Description copied from interface:ValueFactoryCreates a new IntegerValue with an undefined value.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classBasicValueFactory
-
createLongValue
Description copied from interface:ValueFactoryCreates a new LongValue with an undefined value.- Specified by:
createLongValuein interfaceValueFactory- Overrides:
createLongValuein classBasicValueFactory
-
createFloatValue
Description copied from interface:ValueFactoryCreates a new FloatValue with an undefined value.- Specified by:
createFloatValuein interfaceValueFactory- Overrides:
createFloatValuein classBasicValueFactory
-
createDoubleValue
Description copied from interface:ValueFactoryCreates a new DoubleValue with an undefined value.- Specified by:
createDoubleValuein interfaceValueFactory- Overrides:
createDoubleValuein classBasicValueFactory
-
createReferenceValue
public ReferenceValue createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull) Description copied from interface:ValueFactoryCreates 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.- Specified by:
createReferenceValuein interfaceValueFactory- Overrides:
createReferenceValuein classParticularValueFactory
-
createReferenceValue
@Deprecated public ReferenceValue createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Object value) Deprecated.Deprecated, useParticularValueFactory.createReferenceValue(Clazz, boolean, boolean, AnalyzedObject).- Specified by:
createReferenceValuein interfaceValueFactory- Overrides:
createReferenceValuein classParticularValueFactory
-
createReferenceValue
@Deprecated public ReferenceValue createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset) Deprecated.- Specified by:
createReferenceValuein interfaceValueFactory- Overrides:
createReferenceValuein classParticularValueFactory
-
createReferenceValue
@Deprecated public ReferenceValue createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, Object value) Deprecated.Deprecated, useParticularValueFactory.createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)- Specified by:
createReferenceValuein interfaceValueFactory- Overrides:
createReferenceValuein classParticularValueFactory
-
createReferenceValueForId
public ReferenceValue createReferenceValueForId(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Object id) Description copied from interface:ValueFactoryCreates 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.- Specified by:
createReferenceValueForIdin interfaceValueFactory- Overrides:
createReferenceValueForIdin classParticularValueFactory
-
createReferenceValueForId
@Deprecated public ReferenceValue createReferenceValueForId(String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Object id, Object value) Deprecated.Deprecated, useParticularValueFactory.createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject).- Specified by:
createReferenceValueForIdin interfaceValueFactory- Overrides:
createReferenceValueForIdin classParticularValueFactory
-
createArrayReferenceValue
public ReferenceValue createArrayReferenceValue(String type, Clazz referencedClass, IntegerValue arrayLength) Description copied from interface:ValueFactoryCreates a new ReferenceValue that represents a non-null array with elements of the given type, with the given length.- Specified by:
createArrayReferenceValuein interfaceValueFactory- Overrides:
createArrayReferenceValuein classParticularValueFactory
-
generateReferenceId
public static int generateReferenceId()
-