package jqian.sootex.dependency.pdg; import soot.*; public class FormalIn extends FormalNode { /** * @param index Index of the corresponding parameter. * index == -1 is for the receiver, the "this" pointer * index == -2 is for other implicit patameters, i.e. locations in USE(mc) */ public FormalIn(MethodOrMethodContext mc,Object binding,int index){ super(mc,binding); this._paramIndex = index; } public Object clone(){ return new FormalIn(_mc,_binding,_paramIndex); } public String toString(){ String name = getBindingName(); return "#"+_id+" FI "+name; } /** * @return >=0 a normal explicit parameter * ==-1 (THIS_INDEX) a receiver parameter * ==-2 (HEAP_INDEX) an implicit heap parameter */ public int getParamIndex(){ return _paramIndex; } public static final int THIS_INDEX = -1; public static final int HEAP_INDEX = -2; private int _paramIndex; }