summaryrefslogtreecommitdiff
path: root/Source/DafnyMenu
diff options
context:
space:
mode:
authorGravatar wuestholz <unknown>2013-07-30 17:09:20 -0700
committerGravatar wuestholz <unknown>2013-07-30 17:09:20 -0700
commitd73eb5ccdcb87f98edf0769b2deed0e87f62f545 (patch)
treea3407e312c61ef9cf3d8f05b48ba517e61418b22 /Source/DafnyMenu
parent422b0482cb5c4e1e1ac31ba818d0e6ad08022ff6 (diff)
DafnyExtension: Added support for displaying values from the model as hover text.
Diffstat (limited to 'Source/DafnyMenu')
-rw-r--r--Source/DafnyMenu/DafnyMenuPackage.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/DafnyMenu/DafnyMenuPackage.cs b/Source/DafnyMenu/DafnyMenuPackage.cs
index e55a97aa..bf114971 100644
--- a/Source/DafnyMenu/DafnyMenuPackage.cs
+++ b/Source/DafnyMenu/DafnyMenuPackage.cs
@@ -2,6 +2,7 @@
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Globalization;
+using System.Linq;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.ComponentModelHost;
using Microsoft.VisualStudio.Editor;
@@ -310,6 +311,22 @@ namespace DafnyLanguage.DafnyMenu
}
}
+ public string TryToLookupValueInCurrentModel(string name)
+ {
+ string result = null;
+ if (!BVDDisabled && BvdToolWindow.BVD.LangModel != null)
+ {
+ var m = BvdToolWindow.BVD.LangModel as Microsoft.Boogie.ModelViewer.Dafny.DafnyModel;
+ var s = m.states[BvdToolWindow.BVD.CurrentState];
+ var v = s.Vars.FirstOrDefault(var => var.Name == name);
+ if (v != null && v.Element.Kind != Microsoft.Boogie.Model.ElementKind.Uninterpreted)
+ {
+ result = v.Element.ToString();
+ }
+ }
+ return result;
+ }
+
#endregion
}
}