Example #1
0
        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");
            }
        }
Example #2
0
 public PointsTo(IntPowersetDomain args, IntPowersetDomain locals, BooleanDomain heap)
 {
     Args   = args;
     Locals = locals;
     Heap   = heap;
 }
Example #3
0
 public static PointsTo MakeHeap(int nArgs, int nLocals)
 {
     return(new PointsTo(IntPowersetDomain.Bottom(nArgs), IntPowersetDomain.Bottom(nLocals), BooleanDomain.Top));
 }