package jqian.sootex.dependency.pdg; import soot.*; /** * * Model the method arguments */ public abstract class ActualNode extends DependenceNode{ protected Unit _callsite; protected SootMethod _callee; protected Object _binding; //the binding can be a Location or a SootField protected Object _formalNodeBinding; //corresponding parameter /** * @param binding The binding object can be a Location, a SootField or an ArrayType */ protected ActualNode(MethodOrMethodContext mc,Unit invoke,SootMethod callee,Object binding,Object formalNodeBinding){ super(mc); this._binding = binding; this._callsite = invoke; this._callee = callee; this._formalNodeBinding = formalNodeBinding; } public Unit getCallSite(){ return _callsite; } public Object getFormalBinding(){ return _formalNodeBinding; } public Object getBinding() { return _binding; } public SootMethod getCallee(){ return _callee; } public String toString() { return _binding.toString(); } }