类 JvmValueAbstractState
- java.lang.Object
-
- proguard.analysis.cpa.jvm.state.JvmAbstractState<ValueAbstractState>
-
- proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
-
public class JvmValueAbstractState extends JvmAbstractState<ValueAbstractState>
-
-
字段概要
-
从类继承的字段 proguard.analysis.cpa.jvm.state.JvmAbstractState
DEFAULT_FIELD, frame, heap, programLocation, staticFields, topLocation
-
-
构造器概要
构造器 构造器 说明 JvmValueAbstractState(ValueFactory valueFactory, ExecutingInvocationUnit executingInvocationUnit, JvmCfaNode programLocation, JvmFrameAbstractState<ValueAbstractState> frame, JvmHeapAbstractState<ValueAbstractState> heap, MapAbstractState<java.lang.String,ValueAbstractState> staticFields)Create a JVM value abstract state.
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 JvmValueAbstractStatecopy()Creates a copy of itself.booleanequals(java.lang.Object obj)ValueFactorygetValueFactory()Returns theValueFactory.ValueAbstractStategetVariableOrDefault(int index, ValueAbstractState defaultState)Returns an abstract state at theindexth position of the variable array, the corresponding heap value for anIdentifiedReferenceValueordefaultStateif there is no entry.JvmValueAbstractStatejoin(JvmAbstractState<ValueAbstractState> abstractState)Computes a join over itself and another abstract stateabstractState(i.e., finds the least upper bound on the semilattice).ValueAbstractStatenewObject(java.lang.String className)Returns anValueAbstractStatefor a new object of the givenclassName.ValueAbstractStatenewObject(Clazz clazz)Returns anValueAbstractStatestate for a new object of the givenClazz.<T> voidsetField(T object, ValueAbstractState value)Sets the default field of theobjecttovalue.ValueAbstractStatesetVariable(int index, ValueAbstractState state, ValueAbstractState defaultState)Sets theindexth position of the variable array tostateand returnsstate.java.lang.StringtoString()-
从类继承的方法 proguard.analysis.cpa.jvm.state.JvmAbstractState
clearOperandStack, getArrayElementOrDefault, getFieldOrDefault, getFieldOrDefault, getFrame, getHeap, getProgramLocation, getStaticFields, getStaticOrDefault, hashCode, isLessOrEqual, newArray, peek, peek, peekOrDefault, peekOrDefault, pop, popOrDefault, push, pushAll, setArrayElement, setField, setProgramLocation, setStatic
-
从接口继承的方法 proguard.analysis.cpa.interfaces.AbstractState
getPrecision, isLess
-
-
-
-
构造器详细资料
-
JvmValueAbstractState
public JvmValueAbstractState(ValueFactory valueFactory, ExecutingInvocationUnit executingInvocationUnit, JvmCfaNode programLocation, JvmFrameAbstractState<ValueAbstractState> frame, JvmHeapAbstractState<ValueAbstractState> heap, MapAbstractState<java.lang.String,ValueAbstractState> staticFields)
Create a JVM value abstract state.- 参数:
valueFactory- a ValueFactory which is used to create abstract values.executingInvocationUnit- an ExecutingInvocationUnit which is used to execute methods reflectively.programLocation- a CFA nodeframe- a frame abstract stateheap- a heap abstract statestaticFields- a static field table
-
-
方法详细资料
-
getValueFactory
public ValueFactory getValueFactory()
Returns theValueFactory.
-
getVariableOrDefault
public ValueAbstractState getVariableOrDefault(int index, ValueAbstractState defaultState)
Returns an abstract state at theindexth position of the variable array, the corresponding heap value for anIdentifiedReferenceValueordefaultStateif there is no entry.
-
setVariable
public ValueAbstractState setVariable(int index, ValueAbstractState state, ValueAbstractState defaultState)
Sets theindexth position of the variable array tostateand returnsstate. If the array has to be extended, the added cells are padded withdefaultState.If the value is an
IdentifiedReferenceValue, the corresponding heap value is also updated.
-
newObject
public ValueAbstractState newObject(java.lang.String className)
Returns anValueAbstractStatefor a new object of the givenclassName.- 覆盖:
newObject在类中JvmAbstractState<ValueAbstractState>
-
newObject
public ValueAbstractState newObject(Clazz clazz)
Returns anValueAbstractStatestate for a new object of the givenClazz.- 覆盖:
newObject在类中JvmAbstractState<ValueAbstractState>
-
setField
public <T> void setField(T object, ValueAbstractState value)从类复制的说明:JvmAbstractStateSets the default field of theobjecttovalue.- 覆盖:
setField在类中JvmAbstractState<ValueAbstractState>
-
join
public JvmValueAbstractState join(JvmAbstractState<ValueAbstractState> abstractState)
从接口复制的说明:AbstractStateComputes a join over itself and another abstract stateabstractState(i.e., finds the least upper bound on the semilattice).- 指定者:
join在接口中AbstractState<JvmAbstractState<ValueAbstractState>>- 覆盖:
join在类中JvmAbstractState<ValueAbstractState>
-
copy
public JvmValueAbstractState copy()
从接口复制的说明:AbstractStateCreates a copy of itself.- 指定者:
copy在接口中AbstractState<JvmAbstractState<ValueAbstractState>>- 覆盖:
copy在类中JvmAbstractState<ValueAbstractState>
-
equals
public boolean equals(java.lang.Object obj)
- 指定者:
equals在接口中AbstractState<JvmAbstractState<ValueAbstractState>>- 覆盖:
equals在类中JvmAbstractState<ValueAbstractState>
-
toString
public java.lang.String toString()
- 覆盖:
toString在类中java.lang.Object
-
-