diff options
author | wuestholz <unknown> | 2013-07-15 18:54:34 -0700 |
---|---|---|
committer | wuestholz <unknown> | 2013-07-15 18:54:34 -0700 |
commit | 832510796b7feb7f48cad8011aa688b2639668fa (patch) | |
tree | 14f3800d3b5d972fce96f01185f5710167c3041e /Source/DafnyExtension/ErrorTagger.cs | |
parent | 8b69f963879696d40da0a1b845988e17fe9d29d2 (diff) |
DafnyExtension: Added support for selecting errors and showing the model in BVD.
Diffstat (limited to 'Source/DafnyExtension/ErrorTagger.cs')
-rw-r--r-- | Source/DafnyExtension/ErrorTagger.cs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Source/DafnyExtension/ErrorTagger.cs b/Source/DafnyExtension/ErrorTagger.cs index 74765203..2b8a4708 100644 --- a/Source/DafnyExtension/ErrorTagger.cs +++ b/Source/DafnyExtension/ErrorTagger.cs @@ -19,15 +19,16 @@ namespace DafnyLanguage #region Provider
[Export(typeof(ITaggerProvider))]
+ [Name("ErrorTagger")]
[ContentType("dafny")]
- [TagType(typeof(ErrorTag))]
+ [TagType(typeof(IErrorTag))]
internal sealed class ErrorTaggerProvider : ITaggerProvider
{
[Import]
internal IBufferTagAggregatorFactoryService AggregatorFactory = null;
public ITagger<T> CreateTagger<T>(ITextBuffer buffer) where T : ITag {
- ITagAggregator<DafnyResolverTag> tagAggregator = AggregatorFactory.CreateTagAggregator<DafnyResolverTag>(buffer);
+ ITagAggregator<IDafnyResolverTag> tagAggregator = AggregatorFactory.CreateTagAggregator<IDafnyResolverTag>(buffer);
// create a single tagger for each buffer.
Func<ITagger<T>> sc = delegate() { return new ErrorTagger(buffer, tagAggregator) as ITagger<T>; };
return buffer.Properties.GetOrCreateSingletonProperty<ITagger<T>>(sc);
@@ -42,12 +43,12 @@ namespace DafnyLanguage /// <summary>
/// Translate PkgDefTokenTags into ErrorTags and Error List items
/// </summary>
- internal sealed class ErrorTagger : ITagger<ErrorTag>
+ internal sealed class ErrorTagger : ITagger<IErrorTag>
{
ITextBuffer _buffer;
- ITagAggregator<DafnyResolverTag> _aggregator;
+ ITagAggregator<IDafnyResolverTag> _aggregator;
- internal ErrorTagger(ITextBuffer buffer, ITagAggregator<DafnyResolverTag> tagAggregator) {
+ internal ErrorTagger(ITextBuffer buffer, ITagAggregator<IDafnyResolverTag> tagAggregator) {
_buffer = buffer;
_aggregator = tagAggregator;
_aggregator.TagsChanged += new EventHandler<TagsChangedEventArgs>(_aggregator_TagsChanged);
@@ -56,15 +57,14 @@ namespace DafnyLanguage /// <summary>
/// Find the Error tokens in the set of all tokens and create an ErrorTag for each
/// </summary>
- public IEnumerable<ITagSpan<ErrorTag>> GetTags(NormalizedSnapshotSpanCollection spans) {
+ public IEnumerable<ITagSpan<IErrorTag>> GetTags(NormalizedSnapshotSpanCollection spans) {
if (spans.Count == 0) yield break;
var snapshot = spans[0].Snapshot;
foreach (var tagSpan in this._aggregator.GetTags(spans)) {
- DafnyResolverTag t = tagSpan.Tag;
- DafnyErrorResolverTag et = t as DafnyErrorResolverTag;
+ var et = tagSpan.Tag as IErrorTag;
if (et != null) {
foreach (SnapshotSpan s in tagSpan.Span.GetSpans(snapshot)) {
- yield return new TagSpan<ErrorTag>(s, new ErrorTag(et.Typ, et.Msg));
+ yield return new TagSpan<IErrorTag>(s, et);
}
}
}
|