summaryrefslogtreecommitdiff
path: root/Source/Dafny/Rewriter.cs
diff options
context:
space:
mode:
authorGravatar Clément Pit--Claudel <clement.pitclaudel@live.com>2015-08-14 10:04:41 -0700
committerGravatar Clément Pit--Claudel <clement.pitclaudel@live.com>2015-08-14 10:04:41 -0700
commit47a2b369096bb316914983c08e473cb3fddc0c25 (patch)
tree7554b51aaba0279916621c6f4b5a8a211814bb0b /Source/Dafny/Rewriter.cs
parent5d78c0a9a7165e1a646c92c602b5f7d145c4c399 (diff)
Start committing generated triggers when /autoTriggers is 1
Diffstat (limited to 'Source/Dafny/Rewriter.cs')
-rw-r--r--Source/Dafny/Rewriter.cs13
1 files changed, 9 insertions, 4 deletions
diff --git a/Source/Dafny/Rewriter.cs b/Source/Dafny/Rewriter.cs
index 4e274189..0798510a 100644
--- a/Source/Dafny/Rewriter.cs
+++ b/Source/Dafny/Rewriter.cs
@@ -39,15 +39,14 @@ namespace Microsoft.Dafny
}
public class TriggerGeneratingRewriter : IRewriter {
- Triggers.QuantifierCollectionsFinder finder;
-
internal TriggerGeneratingRewriter(ErrorReporter reporter) : base(reporter) {
Contract.Requires(reporter != null);
- this.finder = new Triggers.QuantifierCollectionsFinder(reporter);
}
internal override void PostResolve(ModuleDefinition m) {
- foreach (var decl in ModuleDefinition.AllCallables(m.TopLevelDecls)) { //CLEMENT
+ var finder = new Triggers.QuantifierCollectionsFinder(reporter);
+
+ foreach (var decl in ModuleDefinition.AllCallables(m.TopLevelDecls)) {
if (decl is Function) {
var function = (Function)decl;
finder.Visit(function.Ens, null);
@@ -64,6 +63,12 @@ namespace Microsoft.Dafny
}
}
}
+
+ var triggersCollector = new Triggers.TriggersCollector();
+ foreach (var quantifierCollection in finder.quantifierCollections) {
+ quantifierCollection.ComputeTriggers(triggersCollector);
+ quantifierCollection.CommitTriggers();
+ }
}
}