public RandomVariable GetRandomVariable(object owner, IContextLookup globalVars) { Domain objDomain; switch (DomainType) { case RandomVariableDomainType.Boolean: objDomain = new BooleanDomain(); break; case RandomVariableDomainType.FiniteInteger: objDomain = new FiniteIntegerDomain(IntValues.ConvertAll <Integer>(intObj => new Integer(intObj)).ToArray()); break; case RandomVariableDomainType.ArbitraryToken: var enumerable = ArbitraryValues.EvaluateTyped(owner, globalVars); var asList = new System.Collections.ArrayList(); foreach (object o in enumerable) { asList.Add(o); } objDomain = new ArbitraryTokenDomain(asList.ToArray()); break; default: throw new ArgumentOutOfRangeException(); } return(new RandVar(Name, objDomain)); }
public Effects (ReadWriteVectorDomain args, ReadWriteVectorDomain locals, ReadWriteDomain heap, BooleanDomain mayThrow) { Args = args; Locals = locals; Heap = heap; MayThrow = mayThrow; }
public Effects(IntSet argsIsRead, IntSet argsIsWrite, IntSet localsIsRead, IntSet localsIsWrite, bool heapIsRead, bool heapIsWrite, bool exceptions) { Args = new ReadWriteVectorDomain(argsIsRead, argsIsWrite); Locals = new ReadWriteVectorDomain(localsIsRead, localsIsWrite); Heap = new ReadWriteDomain(heapIsRead, heapIsWrite); MayThrow = new BooleanDomain(exceptions); }
public PointsTo(IntPowersetDomain args, IntPowersetDomain locals, BooleanDomain heap) { Args = args; Locals = locals; Heap = heap; }
public Effects(DroppedDomain <VariableEffects> vars, ReadWriteDomain heap, BooleanDomain mayThrow) { Vars = vars; Heap = heap; MayThrow = mayThrow; }