public bool TryInferPrecondition(ProofObligation obl, ICodeFixesManager codefixesManager, out InferredPreconditions preConditions) { DateTime now = DateTime.Now; bool flag = this.inner.TryInferPrecondition(obl, codefixesManager, out preConditions); PreconditionInferenceProfiler.inferenceTime += DateTime.Now - now; if (preConditions == null) return false; if (flag) PreconditionInferenceProfiler.inferred += Enumerable.Count<IInferredPrecond>((IEnumerable<IInferredPrecond>) preConditions); return flag; }
public bool TryLookUp(ProofObligation obligation, BoxedExpression expression, out ProofOutcome outcome) { string s = ((object)expression).ToString (); foreach (Tuple<BoxedExpression, string, ProofOutcome, List<ProofObligation>> item in this.inferred) { if (item.Item2 == s) { item.Item4.Add (obligation); outcome = item.Item4; return true; } } outcome = ProofOutcome.Top; return false; }
public bool TryInferPrecondition(ProofObligation obl, ICodeFixesManager codefixesManager, out InferredPreconditions preConditions) { preConditions = (InferredPreconditions) null; foreach (IPreconditionInference preconditionInference in this.inferencers) { InferredPreconditions preConditions1; if (preconditionInference != null && preconditionInference.TryInferPrecondition(obl, codefixesManager, out preConditions1)) { if (preConditions == null) preConditions = preConditions1; else preConditions.AddRange((IEnumerable<IInferredPrecond>) preConditions1); } } return preConditions != null; }
public bool TryInferPrecondition(ProofObligation obl, ICodeFixesManager codefixesManager, out InferredPreconditions preConditions) { preConditions = (InferredPreconditions)null; return false; }
public ProofOutcome AddPreconditions(ProofObligation obl, IEnumerable<BoxedExpression> preconditions, ProofOutcome originalOutcome) { return originalOutcome; }
public void Add(ProofObligation obligation, BoxedExpression expression, ProofOutcome outcome) { this.inferred.Add (new Tuple<BoxedExpression, string, ProofOutcome, List<ProofObligation>> (expression, ((object)expression).ToString (), outcome, new List<ProofObligation> (){obligation})); this.preconditions = (Dictionary<BoxedExpression, List<ProofObligation>>)null; }