public class PAG extends Object
protected final NativeMethodDriver nativeDriver
protected final ReflectionModel reflectionModel
protected final Map<VarNode,Map<Context,ContextVarNode>> contextVarNodeMap
protected final Map<AllocNode,Map<Context,ContextAllocNode>> contextAllocNodeMap
protected final Map<SootMethod,Map<Context,ContextMethod>> contextMethodMap
protected final Map<Context,Map<SparkField,ContextField>> contextFieldMap
protected ArrayNumberer<AllocNode> allocNodeNumberer
protected ArrayNumberer<ValNode> valNodeNumberer
protected ArrayNumberer<FieldRefNode> fieldRefNodeNumberer
protected final Map<SootMethod,MethodPAG> methodToPag
protected final Set<FieldSignature> globals
protected final Set<Triple<SootMethod,Local,Type>> locals
protected ChunkedQueue<Node> edgeQueue
protected final Map<FieldRefNode,Set<VarNode>> load
protected final Map<VarNode,Set<FieldRefNode>> loadInv
protected final Map<VarNode,Set<FieldRefNode>> store
protected final Map<FieldRefNode,Set<VarNode>> storeInv
protected final PTA pta
public PAG(PTA pta)
public void setEdgeQueue(ChunkedQueue<Node> edgeQueue)
public Map<FieldRefNode,Set<VarNode>> getLoad()
public Map<FieldRefNode,Set<VarNode>> getStoreInv()
public PTA getPta()
public CallGraphBuilder getCgb()
public QueueReader<Node> edgeReader()
public final void addEdge(Node from, Node to)
public Set<FieldRefNode> loadInvLookup(VarNode key)
public Set<VarNode> loadLookup(FieldRefNode key)
public Set<FieldRefNode> storeLookup(VarNode key)
public Set<VarNode> storeInvLookup(FieldRefNode key)
public static int nextFinishNumber()
public ArrayNumberer<AllocNode> getAllocNodeNumberer()
public ArrayNumberer<FieldRefNode> getFieldRefNodeNumberer()
public ArrayNumberer<ValNode> getValNodeNumberer()
public Collection<ValNode> getValNodes()
public Collection<AllocNode> getAllocNodes()
public Set<FieldSignature> getGlobalPointers()
public Set<Triple<SootMethod,Local,Type>> getLocalPointers()
public ValNode findValNode(Object value, SootMethod containingMethod)
public AllocNode makeAllocNode(Object newExpr, Type type, SootMethod m)
public AllocNode makeStringConstantNode(StringConstant sc)
public AllocNode makeClassConstantNode(ClassConstant cc)
public GlobalVarNode makeGlobalVarNode(Object value, Type type)
public LocalVarNode makeLocalVarNode(Object value, Type type, SootMethod method)
public FieldValNode makeFieldValNode(SparkField field)
public FieldRefNode makeFieldRefNode(VarNode base, SparkField field)
public ContextVarNode makeContextVarNode(VarNode base, Context context)
public ContextAllocNode makeContextAllocNode(AllocNode allocNode, Context context)
public ContextMethod makeContextMethod(Context context, SootMethod method)
public Collection<ContextField> getContextFields()
public Map<VarNode,Map<Context,ContextVarNode>> getContextVarNodeMap()
public Map<AllocNode,Map<Context,ContextAllocNode>> getContextAllocNodeMap()
public Map<SootMethod,Map<Context,ContextMethod>> getContextMethodMap()
public Map<Context,Map<SparkField,ContextField>> getContextFieldVarNodeMap()
public ContextField makeContextField(Context context, FieldValNode fieldValNode)
public Collection<VarNode> getVarNodes(SootMethod m, Local local)
public GlobalVarNode findGlobalVarNode(Object value)
public LocalVarNode findLocalVarNode(SootMethod m, Object value, Type type)
public ContextVarNode findContextVarNode(SootMethod m, Local baseValue, Context context)
protected ReflectionModel createReflectionModel()
public MethodPAG getMethodPAG(SootMethod m)
public void resetPointsToSet()
Copyright © 2024 Soot OSS. All rights reserved.