Class ClassModel
- java.lang.Object
-
- proguard.evaluation.value.object.model.ClassModel
-
- All Implemented Interfaces:
Model
,ReflectiveModel<ClassModel>
public class ClassModel extends java.lang.Object implements ReflectiveModel<ClassModel>
AModel
to track specific Clazz constants.
-
-
Field Summary
-
Fields inherited from interface proguard.evaluation.value.object.model.reflective.ReflectiveModel
log
-
-
Constructor Summary
Constructors Constructor Description ClassModel(Clazz clazz)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
Clazz
getClazz()
@NotNull java.lang.String
getType()
Returns the type of the modeled class.int
hashCode()
MethodResult
init(MethodExecutionInfo methodExecutionInfo, ValueCalculator valueCalculator)
Execute a constructor call for the modeled class.MethodResult
invokeStatic(MethodExecutionInfo methodExecutionInfo, ValueCalculator valueCalculator)
Execute a static method for the modeled class.java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface proguard.evaluation.value.object.model.reflective.ReflectiveModel
invoke
-
-
-
-
Constructor Detail
-
ClassModel
public ClassModel(Clazz clazz)
-
-
Method Detail
-
getType
@NotNull public @NotNull java.lang.String getType()
Description copied from interface:Model
Returns the type of the modeled class.
-
init
public MethodResult init(MethodExecutionInfo methodExecutionInfo, ValueCalculator valueCalculator)
Description copied from interface:Model
Execute a constructor call for the modeled class.It is suggested to add logic to allow running this only on a dummy model without any state.
- Specified by:
init
in interfaceModel
- Specified by:
init
in interfaceReflectiveModel<ClassModel>
- Parameters:
methodExecutionInfo
- execution info of the target method.valueCalculator
- the value calculator that should be used to create any value in the result.- Returns:
- the result of the method invocation. Since it's a constructor invocation the return value of the result is expected to be empty and the constructed value should be set as the updated instance.
-
invokeStatic
public MethodResult invokeStatic(MethodExecutionInfo methodExecutionInfo, ValueCalculator valueCalculator)
Description copied from interface:Model
Execute a static method for the modeled class.It is suggested to add logic to allow running this only on a dummy model without any state.
- Specified by:
invokeStatic
in interfaceModel
- Specified by:
invokeStatic
in interfaceReflectiveModel<ClassModel>
- Parameters:
methodExecutionInfo
- execution info of the target method.valueCalculator
- the value calculator that should be used to create any value in the result.- Returns:
- the result of the method invocation.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getClazz
public Clazz getClazz()
-
-