Skip to content

Commit 99241e5

Browse files
committed
Symbol listener fix - allow multiple annotations on single line
1 parent d8c9d49 commit 99241e5

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

Rubberduck.Parsing/Symbols/DeclarationSymbolsListener.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,14 @@ private IEnumerable<IAnnotation> FindAnnotations(int line)
118118
// VBE 1-based indexing
119119
for (var i = line - 1; i >= 1; i--)
120120
{
121-
var annotation = _annotations.SingleOrDefault(a => a.QualifiedSelection.Selection.StartLine == i);
121+
var lineAnnotations = _annotations.Where(a => a.QualifiedSelection.Selection.StartLine == i);
122122

123-
if (annotation == null)
123+
if (!lineAnnotations.Any())
124124
{
125125
break;
126126
}
127127

128-
annotations.Add(annotation);
129-
128+
annotations.AddRange(lineAnnotations);
130129
}
131130

132131
return annotations;

RubberduckTests/QuickFixes/RemoveDuplicatedAnnotationQuickFixTests.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ Public Sub Foo
9393
}
9494
}
9595

96-
[Ignore("Unexpected parse error")]
9796
[Test]
9897
[Category("QuickFixes")]
9998
public void RemoveDuplicatedAnnotation_QuickFixWorks_RemoveDuplicateFromSameAnnotationList()
@@ -104,7 +103,7 @@ Public Sub Foo
104103
End Sub";
105104

106105
const string expectedCode = @"
107-
' @Obsolete
106+
'@Obsolete
108107
Public Sub Foo
109108
End Sub";
110109

@@ -119,7 +118,6 @@ Public Sub Foo
119118
}
120119
}
121120

122-
[Ignore("Unexpected parse error")]
123121
[Test]
124122
[Category("QuickFixes")]
125123
public void RemoveDuplicatedAnnotation_QuickFixWorks_RemoveMultipleDuplicatesFromSameAnnotationList()
@@ -130,7 +128,7 @@ Public Sub Foo
130128
End Sub";
131129

132130
const string expectedCode = @"
133-
' @Obsolete
131+
'@Obsolete
134132
Public Sub Foo
135133
End Sub";
136134

@@ -145,7 +143,6 @@ Public Sub Foo
145143
}
146144
}
147145

148-
[Ignore("Unexpected parse error")]
149146
[Test]
150147
[Category("QuickFixes")]
151148
public void RemoveDuplicatedAnnotation_QuickFixWorks_RemoveDuplicateFromOtherAnnotationList()
@@ -173,7 +170,6 @@ Public Sub Foo
173170
}
174171
}
175172

176-
[Ignore("Unexpected parse error")]
177173
[Test]
178174
[Category("QuickFixes")]
179175
public void RemoveDuplicatedAnnotation_QuickFixWorks_RemoveMultipleDuplicatesFromOtherAnnotationList()

0 commit comments

Comments
 (0)