Skip to content

Commit 6b56517

Browse files
cushonError Prone Team
authored andcommitted
Fix handling of nested tags in UnrecognisedJavadocTag
PiperOrigin-RevId: 929262364
1 parent d36e74f commit 6b56517

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

core/src/main/java/com/google/errorprone/bugpatterns/javadoc/UnrecognisedJavadocTag.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import com.google.common.collect.ImmutableRangeSet;
2727
import com.google.common.collect.ImmutableSet;
2828
import com.google.common.collect.Range;
29+
import com.google.common.collect.RangeSet;
30+
import com.google.common.collect.TreeRangeSet;
2931
import com.google.errorprone.BugPattern;
3032
import com.google.errorprone.VisitorState;
3133
import com.google.errorprone.bugpatterns.BugChecker;
@@ -92,7 +94,7 @@ private Description handle(@Nullable DocTreePath path, VisitorState state) {
9294
}
9395

9496
private ImmutableRangeSet<Integer> findRecognisedTags(DocTreePath path, VisitorState state) {
95-
ImmutableRangeSet.Builder<Integer> tags = ImmutableRangeSet.builder();
97+
RangeSet<Integer> tags = TreeRangeSet.create();
9698
new DocTreePathScanner<Void, Void>() {
9799
@Override
98100
public Void visitLink(LinkTree linkTree, Void unused) {
@@ -108,7 +110,7 @@ public Void visitLiteral(LiteralTree literalTree, Void unused) {
108110
return super.visitLiteral(literalTree, null);
109111
}
110112
}.scan(path, null);
111-
return tags.build();
113+
return ImmutableRangeSet.copyOf(tags);
112114
}
113115

114116
private static ImmutableSet<Integer> findTags(Comment comment) {

core/src/test/java/com/google/errorprone/bugpatterns/javadoc/UnrecognisedJavadocTagTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,4 +113,19 @@ class Test {}
113113
""")
114114
.doTest();
115115
}
116+
117+
@Test
118+
public void nestedLink() {
119+
helper
120+
.addSourceLines(
121+
"Test.java",
122+
"""
123+
/**
124+
* @deprecated use {@link Test with {@link Test}} instead.
125+
*/
126+
@Deprecated
127+
class Test {}
128+
""")
129+
.doTest();
130+
}
116131
}

0 commit comments

Comments
 (0)