public ProofOutcome AddObjectInvariants(ProofObligation obl, IEnumerable<BoxedExpression> objectInvariants, ProofOutcome originalOutcome) { Contract.Requires(obl != null); Contract.Requires(objectInvariants != null); return ProofOutcome.Top; }
public bool TryInferConditions(ProofObligation obl, ICodeFixesManager codefixesManager, out InferredConditions preConditions) { preConditions = null; foreach (var inferencer in this.inferencers) { if (inferencer == null) continue; InferredConditions tmp; if (inferencer.TryInferConditions(obl, codefixesManager, out tmp)) { Contract.Assert(tmp != null); if (preConditions == null) { preConditions = tmp; } else { preConditions.AddRange(tmp); } } } return preConditions != null; }
public IEnumerable<WarningContext> AddCalleeAssumes(ProofObligation obl, IEnumerable<IInferredCondition> assumes) { Contract.Requires(obl != null); Contract.Requires(assumes != null); Contract.Ensures(Contract.Result<IEnumerable<WarningContext>>() != null); return null; }
public void Add(ProofObligation obl, BoxedExpression exp, ProofOutcome outcome) { Contract.Requires(obl != null); Contract.Requires(exp != null); this.inferred.Add(new Tuple <BoxedExpression, string, ProofOutcome, List <ProofObligation> >(exp, exp.ToString(), outcome, new List <ProofObligation>() { obl })); // we added a new condition, let us discare the previous ones this.preconditions = null; }
public ProofOutcome AddPreconditionOrAssume(ProofObligation obl, IEnumerable<BoxedExpression> conditions, ProofOutcome outcome = ProofOutcome.Top) { Contract.Requires(conditions != null); Contract.Requires(obl != null); if (this.CanAddPreconditions) { Contract.Assume(this.PreCondition.Dispatch != null); return this.PreCondition.Dispatch.AddPreconditions(obl, conditions, outcome); } else { this.Assumptions.AddEntryAssumes(obl, conditions); this.OverriddenMethodPreconditionDispatcher.AddPotentialPreconditions(obl, conditions); return outcome; } }
public bool TryLookUp(ProofObligation obl, BoxedExpression exp, out ProofOutcome outcome) { Contract.Requires(obl != null); Contract.Requires(exp != null); var expStr = exp.ToString(); foreach (var quad in this.inferred) { if (quad.Item2 == expStr) { quad.Item4.Add(obl); outcome = quad.Item3; return true; } } outcome = ProofOutcome.Top; return false; }
public bool TryLookUp(ProofObligation obl, BoxedExpression exp, out ProofOutcome outcome) { Contract.Requires(obl != null); Contract.Requires(exp != null); var expStr = exp.ToString(); foreach (var quad in this.inferred) { if (quad.Item2 == expStr) { quad.Item4.Add(obl); outcome = quad.Item3; return(true); } } outcome = ProofOutcome.Top; return(false); }
public ProofOutcome AddObjectInvariants(ProofObligation obl, IEnumerable<BoxedExpression> objectInvariants, ProofOutcome originalOutcome) { generated += objectInvariants.Count(); return this.inner.AddObjectInvariants(obl, objectInvariants, originalOutcome); }
public void AddPotentialPreconditions(ProofObligation obl, IEnumerable<BoxedExpression> assumes) { generated += assumes.Count(); inner.AddPotentialPreconditions(obl, assumes); }
public void AddPotentialPreconditions(ProofObligation obl, IEnumerable<BoxedExpression> assumes) { Contract.Requires(obl != null); Contract.Requires(assumes != null); }
public void Add(ProofObligation obl, BoxedExpression exp, ProofOutcome outcome) { Contract.Requires(obl != null); Contract.Requires(exp != null); this.inferred.Add(new Tuple<BoxedExpression, string, ProofOutcome, List<ProofObligation>>(exp, exp.ToString(), outcome, new List<ProofObligation>() { obl })); // we added a new condition, let us discare the previous ones this.preconditions = null; }
public void AddEntryAssumes(ProofObligation obl, IEnumerable<BoxedExpression> assumes) { Contract.Requires(obl != null); Contract.Requires(assumes != null); }
public IEnumerable<WarningContext> AddCalleeAssumes(ProofObligation obl, IEnumerable<IInferredCondition> assumes) { calleeAssumeStatistics.Generated += assumes.Count(); return inner.AddCalleeAssumes(obl, assumes); }
public void AddEntryAssumes(ProofObligation obl, IEnumerable<BoxedExpression> assumes) { entryAssumeStatistics.Generated += assumes.Count(); inner.AddEntryAssumes(obl, assumes); }