コード例 #1
0
        static public TimeOutChecker StartTimeOut(int time, CancellationToken cancellationToken)
        {
            Contract.Requires(time > 0);

            Contract.Ensures(Contract.Result <TimeOutChecker>() != null);

            timeout = new TimeOutChecker(time, cancellationToken);

            return(timeout);
        }
コード例 #2
0
            public PreconditionsInferenceBackwardSymbolic(
                IFactQuery <BoxedExpression, Variable> facts,
                IMethodDriver <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, LogOptions> mdriver
                )
            {
                Contract.Requires(facts != null);
                Contract.Requires(mdriver != null);

                this.Facts   = facts;
                this.MDriver = mdriver;
                this.timeout = new TimeOutChecker(TIMEOUT, false); // we do not start the timeout, because we want to do it only for effective computations
            }
コード例 #3
0
                public BackwardsPropagation(
                    APC pcCondition,
                    IFactQuery <BoxedExpression, Variable> facts,
                    IMethodDriver <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, LogOptions> mdriver,
                    TimeOutChecker timeout)
                {
                    Contract.Requires(mdriver != null);

                    this.pcCondition = pcCondition;
                    this.facts       = facts;
                    this.Mdriver     = mdriver;
                    this.CFG         = this.Mdriver.StackLayer.Decoder.Context.MethodContext.CFG;
                    this.timeout     = timeout;
                    this.joinPoints  = new Dictionary <APC, Preconditions>();
                }
コード例 #4
0
        public GenericNecessaryConditionsGenerator(
            APC pcCondition,
            IFactQuery <BoxedExpression, Variable> facts,
            IMethodDriver <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, LogOptions> mdriver,
            TimeOutChecker timeout)
        {
            Contract.Requires(mdriver != null);

            this.pcCondition      = pcCondition;
            this.facts            = facts;
            this.Mdriver          = mdriver;
            this.CFG              = this.Mdriver.StackLayer.Decoder.Context.MethodContext.CFG;
            this.underVisit       = new Set <APC>();
            this.timeout          = timeout;
            this.ExpressionReader = new ExpressionReader <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable>();
            this.SatisfyProcedure = new SimpleSatisfyProcedure <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly>(mdriver.MetaDataDecoder);
            this.LoopHit          = false;
            this.mutator          = new ReplaceSymbolicValueForAccessPath <Local, Parameter, Method, Field, Property, Event, Type, Variable, Expression, Attribute, Assembly>(mdriver.Context, mdriver.MetaDataDecoder);
        }
コード例 #5
0
 public bool MayReturnNull(IFact facts, TimeOutChecker timeout)
 {
     return(RecordProfilingInformation(this.inner.MayReturnNull(facts, timeout)));
 }
コード例 #6
0
 public bool MayReturnNull(IFact facts, TimeOutChecker timeout)
 {
     Contract.Requires(facts != null);
     throw new NotImplementedException();
 }