From 539f7567fb690f171aaf59dd24119e7117ba4087 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Thu, 9 Oct 2025 10:43:35 +0200 Subject: [PATCH] [java-inspections] IDEA-379752 fix "missing '@deprecated' Javadoc tag explanation" throwing with Markdown Javadoc GitOrigin-RevId: 0741065a739e8b7ea34a710a2038d762fdcbb5a3 --- ...MissingDeprecatedAnnotationInspection.java | 2 +- .../MissingDeprecatedAnnotation.after.java | 23 +++++++++++++++++++ .../MissingDeprecatedAnnotation.java | 22 ++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-impl/src/com/siyeh/ig/javadoc/MissingDeprecatedAnnotationInspection.java b/java/java-analysis-impl/src/com/siyeh/ig/javadoc/MissingDeprecatedAnnotationInspection.java index 02d2b0efc41c..4212f963dbf2 100644 --- a/java/java-analysis-impl/src/com/siyeh/ig/javadoc/MissingDeprecatedAnnotationInspection.java +++ b/java/java-analysis-impl/src/com/siyeh/ig/javadoc/MissingDeprecatedAnnotationInspection.java @@ -141,7 +141,7 @@ public final class MissingDeprecatedAnnotationInspection extends BaseInspection int end = tag.getTextOffset() + tag.getTextLength(); updater.select(TextRange.create(start, end)); } else { - updater.moveCaretTo(sibling); + updater.moveCaretTo(tag.getTextOffset() + tag.getTextLength()); } } } diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.after.java b/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.after.java index 1810212c6ac5..aba1e96d591a 100644 --- a/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.after.java @@ -71,3 +71,26 @@ class Debugger { */ @Deprecated String CONTENT_ROOT_ICON_OPEN = null; } + +class MarkdownJavadoc { + /// Nice method! + /// @deprecated TODO: explain + @Deprecated + void foo1() { + // ... + } + + /// Nice method! + /// @deprecated TODO: explain + @Deprecated + void foo2() { + // ... + } + + /// Nice method! + /// @deprecated don't use it + @Deprecated + void foo3() { + // ... + } +} diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.java b/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.java index f391b73f8218..4af90c618e26 100644 --- a/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.java +++ b/java/java-tests/testData/ig/com/siyeh/igtest/javadoc/missing_deprecated_annotation/MissingDeprecatedAnnotation.java @@ -64,3 +64,25 @@ class Debugger { */ @Deprecated String CONTENT_ROOT_ICON_OPEN = null; } + +class MarkdownJavadoc { + /// Nice method! + /// @deprecated + @Deprecated + void foo1() { + // ... + } + + /// Nice method! + @Deprecated + void foo2() { + // ... + } + + /// Nice method! + /// @deprecated don't use it + @Deprecated + void foo3() { + // ... + } +}