类 BamLocationDependentJvmMemoryLocation<ContentT extends AbstractState<ContentT>>
- java.lang.Object
-
- proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation<ContentT>
-
- 类型参数:
ContentT- The content of the jvm states for the traced analysis, contained in the BAM cache. For example, this can be aSetAbstractStateof taints for taint analysis or aValueAbstractStatefor value analysis.
- 所有已实现的接口:
BamLocationDependent<ContentT>,ProgramLocationDependent
public class BamLocationDependentJvmMemoryLocation<ContentT extends AbstractState<ContentT>> extends java.lang.Object implements ProgramLocationDependent, BamLocationDependent<ContentT>
This class wraps aJvmMemoryLocationadding information on its program location and source reached set.
-
-
构造器概要
构造器 构造器 说明 BamLocationDependentJvmMemoryLocation(JvmMemoryLocation memoryLocation)BamLocationDependentJvmMemoryLocation(JvmMemoryLocation memoryLocation, JvmCfaNode programLocation, ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> sourceReachedSet)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 BamLocationDependentJvmMemoryLocation<ContentT>copy()booleanequals(java.lang.Object obj)ContentTextractFirstValue(ContentT defaultValue)Extract the value from the first state from the reached state corresponding to the program, memory location, and BAM cache entry represented by this object.JvmMemoryLocationgetMemoryLocation()JvmCfaNodegetProgramLocation()Returns the program location.ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>>getSourceReachedSet()Returns the reached set the abstract state belongs to.inthashCode()voidsetProgramLocation(JvmCfaNode programLocation)Sets the program location.voidsetSourceReachedSet(ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> sourceReachedSet)Sets the reached set the abstract state belongs to.java.lang.StringtoString()
-
-
-
构造器详细资料
-
BamLocationDependentJvmMemoryLocation
public BamLocationDependentJvmMemoryLocation(JvmMemoryLocation memoryLocation)
-
BamLocationDependentJvmMemoryLocation
public BamLocationDependentJvmMemoryLocation(JvmMemoryLocation memoryLocation, JvmCfaNode programLocation, ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> sourceReachedSet)
-
-
方法详细资料
-
getMemoryLocation
public JvmMemoryLocation getMemoryLocation()
-
copy
public BamLocationDependentJvmMemoryLocation<ContentT> copy()
-
extractFirstValue
public ContentT extractFirstValue(ContentT defaultValue)
Extract the value from the first state from the reached state corresponding to the program, memory location, and BAM cache entry represented by this object.Most analyses will have one state at most for each program location, and this method should be mostly used for this kind of analyses since it will return the only valid state. It's also possible that, for analyses where multiple states are possible, the returned value might be non-deterministic depending on the underlying reached set implementation.
- 返回:
- an empty optional if there is no analysis state in the cache entry and program location represented by this object. Otherwise, the content for the memory location specified by this object of the first state (there is usually only one state anyway, but this is analysis-dependent) for that program location.
-
getProgramLocation
public JvmCfaNode getProgramLocation()
从接口复制的说明:ProgramLocationDependentReturns the program location.- 指定者:
getProgramLocation在接口中ProgramLocationDependent
-
setProgramLocation
public void setProgramLocation(JvmCfaNode programLocation)
从接口复制的说明:ProgramLocationDependentSets the program location.- 指定者:
setProgramLocation在接口中ProgramLocationDependent
-
getSourceReachedSet
public ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> getSourceReachedSet()
从接口复制的说明:BamLocationDependentReturns the reached set the abstract state belongs to.- 指定者:
getSourceReachedSet在接口中BamLocationDependent<ContentT extends AbstractState<ContentT>>
-
setSourceReachedSet
public void setSourceReachedSet(ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> sourceReachedSet)
从接口复制的说明:BamLocationDependentSets the reached set the abstract state belongs to.- 指定者:
setSourceReachedSet在接口中BamLocationDependent<ContentT extends AbstractState<ContentT>>
-
equals
public boolean equals(java.lang.Object obj)
- 覆盖:
equals在类中java.lang.Object
-
hashCode
public int hashCode()
- 覆盖:
hashCode在类中java.lang.Object
-
toString
public java.lang.String toString()
- 覆盖:
toString在类中java.lang.Object
-
-