类 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 Object
implements ProgramLocationDependent, BamLocationDependent<ContentT>
This class wraps a
JvmMemoryLocation adding information on its program location and
source reached set.-
构造器概要
构造器构造器说明BamLocationDependentJvmMemoryLocation(JvmMemoryLocation memoryLocation) BamLocationDependentJvmMemoryLocation(JvmMemoryLocation memoryLocation, JvmCfaNode programLocation, ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> sourceReachedSet) -
方法概要
修饰符和类型方法说明copy()booleanextractFirstValue(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.Returns the program location.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.toString()
-
构造器详细资料
-
BamLocationDependentJvmMemoryLocation
-
BamLocationDependentJvmMemoryLocation
public BamLocationDependentJvmMemoryLocation(JvmMemoryLocation memoryLocation, JvmCfaNode programLocation, ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> sourceReachedSet)
-
-
方法详细资料
-
getMemoryLocation
-
copy
-
extractFirstValue
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
从接口复制的说明:ProgramLocationDependentReturns the program location.- 指定者:
getProgramLocation在接口中ProgramLocationDependent
-
setProgramLocation
从接口复制的说明:ProgramLocationDependentSets the program location.- 指定者:
setProgramLocation在接口中ProgramLocationDependent
-
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
-
hashCode
public int hashCode() -
toString
-