diff options
author | Clément Pit--Claudel <clement.pitclaudel@live.com> | 2015-08-14 10:04:41 -0700 |
---|---|---|
committer | Clément Pit--Claudel <clement.pitclaudel@live.com> | 2015-08-14 10:04:41 -0700 |
commit | 47a2b369096bb316914983c08e473cb3fddc0c25 (patch) | |
tree | 7554b51aaba0279916621c6f4b5a8a211814bb0b /Source/Dafny/Rewriter.cs | |
parent | 5d78c0a9a7165e1a646c92c602b5f7d145c4c399 (diff) |
Start committing generated triggers when /autoTriggers is 1
Diffstat (limited to 'Source/Dafny/Rewriter.cs')
-rw-r--r-- | Source/Dafny/Rewriter.cs | 13 |
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();
+ }
}
}
|