接口 JvmHeapAbstractState<StateT extends AbstractState<StateT>>
-
- 所有超级接口:
AbstractState<JvmHeapAbstractState<StateT>>
public interface JvmHeapAbstractState<StateT extends AbstractState<StateT>> extends AbstractState<JvmHeapAbstractState<StateT>>
TheJvmHeapAbstractStateprovides the interfaces for heap operations over objects and arrays.
-
-
方法概要
所有方法 实例方法 抽象方法 默认方法 修饰符和类型 方法 说明 JvmHeapAbstractState<StateT>copy()Creates a copy of itself.default voidexpand(JvmHeapAbstractState<StateT> otherState)Expands the heap with references present in another state.<T> StateTgetArrayElementOrDefault(T array, StateT index, StateT defaultValue)Returns anarrayelement at the specifiedindexor thedefaultValue, if the element is unset.<T> StateTgetFieldOrDefault(T object, java.lang.String fqn, StateT defaultValue)Returns a fieldfqnfrom a referenceobject.StateTnewArray(java.lang.String type, java.util.List<StateT> dimensions, JvmCfaNode creationCite)Creates a new array of a given class with the given dimension sizes at a specific program point and returns a reference to it.StateTnewObject(java.lang.String className, JvmCfaNode creationCite)Creates a new object of a given class at a specific program point and returns a reference to it.default StateTnewObject(Clazz clazz, JvmCfaNode creationCite)Creates a new object of a givenClazzat a specific program point and returns a reference to it.default voidreduce(java.util.Set<java.lang.Object> references)Discards unused parts of the heap.<T> voidsetArrayElement(T array, StateT index, StateT value)Sets thearrayelementvalueat the specifiedindex.<T> voidsetField(T object, java.lang.String fqn, StateT value)Sets avalueto a fieldfqnof a referencedobject.-
从接口继承的方法 proguard.analysis.cpa.interfaces.AbstractState
equals, getPrecision, hashCode, isLess, isLessOrEqual, join
-
-
-
-
方法详细资料
-
copy
JvmHeapAbstractState<StateT> copy()
从接口复制的说明:AbstractStateCreates a copy of itself.- 指定者:
copy在接口中AbstractState<StateT extends AbstractState<StateT>>
-
newArray
StateT newArray(java.lang.String type, java.util.List<StateT> dimensions, JvmCfaNode creationCite)
Creates a new array of a given class with the given dimension sizes at a specific program point and returns a reference to it.
-
newObject
StateT newObject(java.lang.String className, JvmCfaNode creationCite)
Creates a new object of a given class at a specific program point and returns a reference to it.
-
newObject
default StateT newObject(Clazz clazz, JvmCfaNode creationCite)
Creates a new object of a givenClazzat a specific program point and returns a reference to it.
-
getFieldOrDefault
<T> StateT getFieldOrDefault(T object, java.lang.String fqn, StateT defaultValue)
Returns a fieldfqnfrom a referenceobject. If there is no abstract state representing the field, returns thedefaultValue
-
setField
<T> void setField(T object, java.lang.String fqn, StateT value)Sets avalueto a fieldfqnof a referencedobject.
-
getArrayElementOrDefault
<T> StateT getArrayElementOrDefault(T array, StateT index, StateT defaultValue)
Returns anarrayelement at the specifiedindexor thedefaultValue, if the element is unset.
-
setArrayElement
<T> void setArrayElement(T array, StateT index, StateT value)Sets thearrayelementvalueat the specifiedindex.
-
reduce
default void reduce(java.util.Set<java.lang.Object> references)
Discards unused parts of the heap. Does nothing in the default implementation.This can be overridden to model discarding heap portions at call sites.
- 参数:
references- information on the references to keep or discard, based on the implementation. Unused in the default implementation
-
expand
default void expand(JvmHeapAbstractState<StateT> otherState)
Expands the heap with references present in another state. Does nothing in the default implementation.This can be overridden to model recovering information discarded at call sites when analyzing a return site.
- 参数:
otherState- a heap state from which expanding the heap (e.g. the state calling a method to recover information discarded from it)
-
-