summaryrefslogtreecommitdiff
path: root/Source/DafnyDriver
diff options
context:
space:
mode:
authorGravatar wuestholz <unknown>2013-06-19 19:10:38 -0700
committerGravatar wuestholz <unknown>2013-06-19 19:10:38 -0700
commit2a8f3ffca06ab037ba8f0eda29072337b7775af1 (patch)
treedca344e1774fdd264f2f8b7d74abd102e45456ef /Source/DafnyDriver
parentf41945b8fa8148f03c198fc898995d86e4b6ebfb (diff)
Did some refactoring of the error reporting functionality.
Diffstat (limited to 'Source/DafnyDriver')
-rw-r--r--Source/DafnyDriver/DafnyDriver.cs18
1 files changed, 9 insertions, 9 deletions
diff --git a/Source/DafnyDriver/DafnyDriver.cs b/Source/DafnyDriver/DafnyDriver.cs
index 22153b3b..89a01ea9 100644
--- a/Source/DafnyDriver/DafnyDriver.cs
+++ b/Source/DafnyDriver/DafnyDriver.cs
@@ -122,17 +122,17 @@ namespace Microsoft.Dafny
bplFilename = Path.Combine(Path.GetTempPath(), baseName);
}
- int errorCount, verified, inconclusives, timeOuts, outOfMemories;
- PipelineOutcome oc = BoogiePipelineWithRerun(boogieProgram, bplFilename, out errorCount, out verified, out inconclusives, out timeOuts, out outOfMemories);
- bool allOk = errorCount == 0 && inconclusives == 0 && timeOuts == 0 && outOfMemories == 0;
+ PipelineStatistics stats = null;
+ PipelineOutcome oc = BoogiePipelineWithRerun(boogieProgram, bplFilename, out stats);
+ var allOk = stats.ErrorCount == 0 && stats.InconclusiveCount == 0 && stats.TimeoutCount == 0 && stats.OutOfMemoryCount == 0;
switch (oc) {
case PipelineOutcome.VerificationCompleted:
- printer.WriteTrailer(verified, errorCount, inconclusives, timeOuts, outOfMemories);
+ printer.WriteTrailer(stats);
if ((DafnyOptions.O.Compile && allOk && CommandLineOptions.Clo.ProcsToCheck == null) || DafnyOptions.O.ForceCompile)
CompileDafnyProgram(dafnyProgram, fileNames[0]);
break;
case PipelineOutcome.Done:
- printer.WriteTrailer(verified, errorCount, inconclusives, timeOuts, outOfMemories);
+ printer.WriteTrailer(stats);
if (DafnyOptions.O.ForceCompile)
CompileDafnyProgram(dafnyProgram, fileNames[0]);
break;
@@ -156,13 +156,13 @@ namespace Microsoft.Dafny
/// their error code.
/// </summary>
static PipelineOutcome BoogiePipelineWithRerun(Bpl.Program/*!*/ program, string/*!*/ bplFileName,
- out int errorCount, out int verified, out int inconclusives, out int timeOuts, out int outOfMemories)
+ out PipelineStatistics stats)
{
Contract.Requires(program != null);
Contract.Requires(bplFileName != null);
- Contract.Ensures(0 <= Contract.ValueAtReturn(out inconclusives) && 0 <= Contract.ValueAtReturn(out timeOuts));
+ Contract.Ensures(0 <= Contract.ValueAtReturn(out stats.InconclusiveCount) && 0 <= Contract.ValueAtReturn(out stats.TimeoutCount));
- errorCount = verified = inconclusives = timeOuts = outOfMemories = 0;
+ stats = new PipelineStatistics();
PipelineOutcome oc = ExecutionEngine.ResolveAndTypecheck(program, bplFileName);
switch (oc) {
case PipelineOutcome.Done:
@@ -187,7 +187,7 @@ namespace Microsoft.Dafny
case PipelineOutcome.ResolvedAndTypeChecked:
ExecutionEngine.EliminateDeadVariablesAndInline(program);
- return ExecutionEngine.InferAndVerify(program, out errorCount, out verified, out inconclusives, out timeOuts, out outOfMemories);
+ return ExecutionEngine.InferAndVerify(program, stats);
default:
Contract.Assert(false);throw new cce.UnreachableException(); // unexpected outcome