Package com.ibm.wala.demandpa.util
Class PABasedMemoryAccessMap
- java.lang.Object
-
- com.ibm.wala.demandpa.util.PABasedMemoryAccessMap
-
- All Implemented Interfaces:
MemoryAccessMap
public class PABasedMemoryAccessMap extends Object implements MemoryAccessMap
AMemoryAccessMap
that makes use of a pre-computedPointerAnalysis
to reduce the number of considered accesses.
-
-
Constructor Summary
Constructors Constructor Description PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa)
PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa, SDG sdg)
PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa, Map<Statement,Set<PointerKey>> mod, Map<Statement,Set<PointerKey>> ref)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<MemoryAccess>
getArrayReads(PointerKey arrayRef)
Collection<MemoryAccess>
getArrayWrites(PointerKey arrayRef)
Collection<MemoryAccess>
getFieldReads(PointerKey baseRef, IField field)
Collection<MemoryAccess>
getFieldWrites(PointerKey baseRef, IField field)
HeapModel
getHeapModel()
get the heap model used in this memory access mapCollection<MemoryAccess>
getStaticFieldReads(IField field)
Collection<MemoryAccess>
getStaticFieldWrites(IField field)
-
-
-
Constructor Detail
-
PABasedMemoryAccessMap
public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa)
-
PABasedMemoryAccessMap
public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa, SDG sdg)
-
PABasedMemoryAccessMap
public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa, Map<Statement,Set<PointerKey>> mod, Map<Statement,Set<PointerKey>> ref)
-
-
Method Detail
-
getArrayReads
public Collection<MemoryAccess> getArrayReads(PointerKey arrayRef)
- Specified by:
getArrayReads
in interfaceMemoryAccessMap
-
getArrayWrites
public Collection<MemoryAccess> getArrayWrites(PointerKey arrayRef)
- Specified by:
getArrayWrites
in interfaceMemoryAccessMap
-
getFieldReads
public Collection<MemoryAccess> getFieldReads(PointerKey baseRef, IField field)
- Specified by:
getFieldReads
in interfaceMemoryAccessMap
- Returns:
- Collection
-
getFieldWrites
public Collection<MemoryAccess> getFieldWrites(PointerKey baseRef, IField field)
- Specified by:
getFieldWrites
in interfaceMemoryAccessMap
- Returns:
- Collection
-
getStaticFieldReads
public Collection<MemoryAccess> getStaticFieldReads(IField field)
- Specified by:
getStaticFieldReads
in interfaceMemoryAccessMap
-
getStaticFieldWrites
public Collection<MemoryAccess> getStaticFieldWrites(IField field)
- Specified by:
getStaticFieldWrites
in interfaceMemoryAccessMap
-
getHeapModel
public HeapModel getHeapModel()
Description copied from interface:MemoryAccessMap
get the heap model used in this memory access map- Specified by:
getHeapModel
in interfaceMemoryAccessMap
-
-