package jqian.sootex.dependency.pdg; import java.util.ArrayList; import java.util.Collection; import soot.MethodOrMethodContext; import soot.Unit; /** * A unique node to model a callsite. Each callee is modeled by a CallNode */ public class CallsiteNode extends JimpleStmtNode { protected final Collection<CallNode> _calleeNodes; public CallsiteNode(MethodOrMethodContext mc, Unit callsite) { super(mc, callsite); _calleeNodes = new ArrayList<CallNode>(); } public void addCalleeNode(CallNode calleeNode){ _calleeNodes.add(calleeNode); } public Collection<CallNode> getCalleeNodes(){ return _calleeNodes; } // XXX: here miss callee nodes. Currently no problem, but may cause bugs in the future public Object clone(){ CallsiteNode node = new CallsiteNode(_mc, _stmt); return node; } }