public static PointsTo MakeArgLocal(int nArgs, int nLocals, ArgLocal argLocal, int index) { switch (argLocal) { case ArgLocal.Arg: return(new PointsTo (IntPowersetDomain.Singleton(nArgs, index), IntPowersetDomain.Bottom(nLocals), BooleanDomain.Bottom)); case ArgLocal.Local: return(new PointsTo (IntPowersetDomain.Bottom(nArgs), IntPowersetDomain.Singleton(nLocals, index), BooleanDomain.Bottom)); default: throw new ArgumentOutOfRangeException("argLocal"); } }
public static PointsTo MakeHeap(int nArgs, int nLocals) { return(new PointsTo(IntPowersetDomain.Bottom(nArgs), IntPowersetDomain.Bottom(nLocals), BooleanDomain.Top)); }