diff options
author | stobies <unknown> | 2009-09-07 09:50:49 +0000 |
---|---|---|
committer | stobies <unknown> | 2009-09-07 09:50:49 +0000 |
commit | deb203b5944c966d72c2884a425a450e93d49ad3 (patch) | |
tree | 45e2e7ae67ba7ca179030ac8e8646cd330264d0b /Source/Provers/Simplify | |
parent | a4f2bf6414f35907ab135cc6723683fe632467c4 (diff) |
Use callback mechanism to report prover warnings; do not just write them to stdout/stderr
Diffstat (limited to 'Source/Provers/Simplify')
-rw-r--r-- | Source/Provers/Simplify/Prover.ssc | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/Source/Provers/Simplify/Prover.ssc b/Source/Provers/Simplify/Prover.ssc index f89d6a42..641c81f4 100644 --- a/Source/Provers/Simplify/Prover.ssc +++ b/Source/Provers/Simplify/Prover.ssc @@ -110,23 +110,6 @@ namespace Microsoft.Boogie.Simplify catch (System.ComponentModel.Win32Exception) { /* already exiting */ }
}
- public static void ReportWarning(string! w)
- modifies Console.Out.*, Console.Error.*;
- {
- switch (CommandLineOptions.Clo.PrintProverWarnings) {
- case CommandLineOptions.ProverWarnings.None:
- break;
- case CommandLineOptions.ProverWarnings.Stdout:
- Console.WriteLine("Prover warning: " + w);
- break;
- case CommandLineOptions.ProverWarnings.Stderr:
- Console.Error.WriteLine("Prover warning: " + w);
- break;
- default:
- assume false; // unexpected case
- }
- }
-
public virtual void AddAxioms(string! s)
modifies this.*;
modifies Console.Out.*, Console.Error.*;
@@ -440,7 +423,7 @@ namespace Microsoft.Boogie.Simplify } while (Char.IsWhiteSpace((char)ch));
while (ch == 'W') {
- ch = ConsumeWarnings(ch);
+ ch = ConsumeWarnings(ch, null);
}
Expect(ch, ">\t");
@@ -496,7 +479,7 @@ namespace Microsoft.Boogie.Simplify int ch = FromReadChar();
while (ch == 'W')
{
- ch = ConsumeWarnings(ch);
+ ch = ConsumeWarnings(ch, handler);
}
if (ch == 'E')
{
@@ -574,7 +557,7 @@ namespace Microsoft.Boogie.Simplify return theLabels;
}
- int ConsumeWarnings(int ch)
+ int ConsumeWarnings(int ch, Microsoft.Boogie.ProverInterface.ErrorHandler handler)
requires ch == 'W';
modifies this.*;
modifies Console.Out.*, Console.Error.*;
@@ -590,7 +573,9 @@ namespace Microsoft.Boogie.Simplify FromReadLine(); // blank line
FromReadLine(); // expression (entire quantifier)
}
- ReportWarning(w);
+
+ if (handler != null) handler.OnProverWarning(w);
+
ch = FromReadChar();
if (ch == '\n')
{
|