/// <summary> /// Must be called only once ! /// </summary> public static void SetWitness(this IClousotCache @this, Outcome outcome, Witness witness, BijectiveMap <Subroutine, int> subroutineLocalIds) { if (@outcome.OutcomeContexts.Any()) { throw new InvalidOperationException(); } @outcome.ProofOutcome = witness.Outcome; @outcome.WarningType = witness.Warning; @this.SetAPC(outcome, witness.PC, subroutineLocalIds); foreach (var c in witness.Context) { @this.AddNewOutcomeContext(outcome, c); } }
public OutcomeContext AddNewOutcomeContext(Outcome outcome, WarningContext warningContext) { return(underlying.AddNewOutcomeContext(outcome, warningContext)); }