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
public class IdentifiedValueFactory extends ParticularValueFactory
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
referenceValueFactory
-
Fields inherited from class proguard.evaluation.value.BasicValueFactory
DOUBLE_VALUE, FLOAT_VALUE, INTEGER_VALUE, LONG_VALUE, REFERENCE_VALUE, UNKNOWN_VALUE
-
-
Constructor Summary
Constructors Constructor Description IdentifiedValueFactory()Creates 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
All Methods Static Methods Instance Methods Concrete 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.DoubleValuecreateDoubleValue()Creates a new DoubleValue with an undefined value.FloatValuecreateFloatValue()Creates a new FloatValue with an undefined value.IntegerValuecreateIntegerValue()Creates a new IntegerValue with an undefined value.LongValuecreateLongValue()Creates a new LongValue with an undefined value.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, 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.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.static intgenerateReferenceId()-
Methods inherited from class proguard.evaluation.value.ParticularValueFactory
createArrayReferenceValue, createDoubleValue, createFloatValue, createIntegerValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueNull
-
Methods inherited from class proguard.evaluation.value.BasicValueFactory
checkCreationLocation, checkReferenceValue, createIntegerValue, createValue
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface proguard.evaluation.value.ValueFactory
createIntegerValue, createReferenceValue, createReferenceValue, createReferenceValue, createValue
-
-
-
-
Constructor Detail
-
IdentifiedValueFactory
public IdentifiedValueFactory()
Creates a new IdentifiedValueFactory which does not keep track of particular references.
-
IdentifiedValueFactory
public IdentifiedValueFactory(ValueFactory referenceValueFactory)
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 Detail
-
createIntegerValue
public IntegerValue createIntegerValue()
Description copied from interface:ValueFactoryCreates a new IntegerValue with an undefined value.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classBasicValueFactory
-
createLongValue
public LongValue createLongValue()
Description copied from interface:ValueFactoryCreates a new LongValue with an undefined value.- Specified by:
createLongValuein interfaceValueFactory- Overrides:
createLongValuein classBasicValueFactory
-
createFloatValue
public FloatValue createFloatValue()
Description copied from interface:ValueFactoryCreates a new FloatValue with an undefined value.- Specified by:
createFloatValuein interfaceValueFactory- Overrides:
createFloatValuein classBasicValueFactory
-
createDoubleValue
public DoubleValue createDoubleValue()
Description copied from interface:ValueFactoryCreates a new DoubleValue with an undefined value.- Specified by:
createDoubleValuein interfaceValueFactory- Overrides:
createDoubleValuein classBasicValueFactory
-
createReferenceValue
public ReferenceValue createReferenceValue(java.lang.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(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object value)
Deprecated.Deprecated, useParticularValueFactory.createReferenceValue(Clazz, boolean, boolean, AnalyzedObject).- Specified by:
createReferenceValuein interfaceValueFactory- Overrides:
createReferenceValuein classParticularValueFactory
-
createReferenceValue
@Deprecated public ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset)
Deprecated.Deprecated, useParticularValueFactory.createReferenceValue(String, Clazz, boolean, boolean, CodeLocation)- Specified by:
createReferenceValuein interfaceValueFactory- Overrides:
createReferenceValuein classParticularValueFactory
-
createReferenceValue
@Deprecated public ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, java.lang.Object value)
Deprecated.Deprecated, useParticularValueFactory.createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)- Specified by:
createReferenceValuein interfaceValueFactory- Overrides:
createReferenceValuein classParticularValueFactory
-
createReferenceValueForId
public ReferenceValue createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.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(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object id, java.lang.Object value)
Deprecated.Deprecated, useParticularValueFactory.createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject).- Specified by:
createReferenceValueForIdin interfaceValueFactory- Overrides:
createReferenceValueForIdin classParticularValueFactory
-
createArrayReferenceValue
public ReferenceValue createArrayReferenceValue(java.lang.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()
-
-