public class PABasedMemoryAccessMap extends java.lang.Object implements MemoryAccessMap
MemoryAccessMap that makes use of a pre-computed PointerAnalysis to reduce the
number of considered accesses.| Constructor and Description |
|---|
PABasedMemoryAccessMap(CallGraph cg,
PointerAnalysis<InstanceKey> pa) |
PABasedMemoryAccessMap(PointerAnalysis<InstanceKey> pa,
java.util.Map<Statement,java.util.Set<PointerKey>> mod,
java.util.Map<Statement,java.util.Set<PointerKey>> ref) |
PABasedMemoryAccessMap(PointerAnalysis<InstanceKey> pa,
SDG<InstanceKey> sdg) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Collection<MemoryAccess> |
getArrayReads(PointerKey arrayRef) |
java.util.Collection<MemoryAccess> |
getArrayWrites(PointerKey arrayRef) |
java.util.Collection<MemoryAccess> |
getFieldReads(PointerKey baseRef,
IField field) |
java.util.Collection<MemoryAccess> |
getFieldWrites(PointerKey baseRef,
IField field) |
HeapModel |
getHeapModel()
get the heap model used in this memory access map
|
java.util.Collection<MemoryAccess> |
getStaticFieldReads(IField field) |
java.util.Collection<MemoryAccess> |
getStaticFieldWrites(IField field) |
public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa)
public PABasedMemoryAccessMap(PointerAnalysis<InstanceKey> pa, SDG<InstanceKey> sdg)
public PABasedMemoryAccessMap(PointerAnalysis<InstanceKey> pa, java.util.Map<Statement,java.util.Set<PointerKey>> mod, java.util.Map<Statement,java.util.Set<PointerKey>> ref)
public java.util.Collection<MemoryAccess> getArrayReads(PointerKey arrayRef)
getArrayReads in interface MemoryAccessMappublic java.util.Collection<MemoryAccess> getArrayWrites(PointerKey arrayRef)
getArrayWrites in interface MemoryAccessMappublic java.util.Collection<MemoryAccess> getFieldReads(PointerKey baseRef, IField field)
getFieldReads in interface MemoryAccessMapCollection<MemoryAccess>public java.util.Collection<MemoryAccess> getFieldWrites(PointerKey baseRef, IField field)
getFieldWrites in interface MemoryAccessMapCollection<MemoryAccess>public java.util.Collection<MemoryAccess> getStaticFieldReads(IField field)
getStaticFieldReads in interface MemoryAccessMappublic java.util.Collection<MemoryAccess> getStaticFieldWrites(IField field)
getStaticFieldWrites in interface MemoryAccessMappublic HeapModel getHeapModel()
MemoryAccessMapgetHeapModel in interface MemoryAccessMap