diff --git a/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt index 189684b7990..1e9cfec8269 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt @@ -66,6 +66,7 @@ class AnnotationConverter(private val converter: Converter) { if (owner is PsiDocCommentOwner) { val deprecatedAnnotation = convertDeprecatedJavadocTag(owner, target) if (deprecatedAnnotation != null) { + convertedAnnotations = convertedAnnotations.filter { it.name.name != deprecatedAnnotation.name.name } convertedAnnotations += deprecatedAnnotation } } diff --git a/j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.java b/j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.java new file mode 100644 index 00000000000..26a03713aa7 --- /dev/null +++ b/j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.java @@ -0,0 +1,12 @@ +/** + * This is a deprecated class. + * @deprecated This class is deprecated + */ +@Deprecated +class TestDeprecated { + /** + * @deprecated This method is deprecated + */ + @Deprecated + public void deprecatedMethod() {} +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.kt b/j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.kt new file mode 100644 index 00000000000..c7a3e39bc90 --- /dev/null +++ b/j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.kt @@ -0,0 +1,10 @@ +/** + * This is a deprecated class. + */ +@Deprecated("This class is deprecated") +internal class TestDeprecated { + + @Deprecated("This method is deprecated") + fun deprecatedMethod() { + } +} \ No newline at end of file diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java index 6fb5d6b5390..d5e69444496 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java +++ b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java @@ -1790,6 +1790,12 @@ public class JavaToKotlinConverterForWebDemoTestGenerated extends AbstractJavaTo doTest(fileName); } + @TestMetadata("deprecatedDocTagWithAnnotation.java") + public void testDeprecatedDocTagWithAnnotation() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.java"); + doTest(fileName); + } + @TestMetadata("docCommentWithParamTag.java") public void testDocCommentWithParamTag() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/docComments/docCommentWithParamTag.java"); diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java index 3bf0bb1ec5d..56491ed7f30 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java +++ b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java @@ -1790,6 +1790,12 @@ public class JavaToKotlinConverterSingleFileTestGenerated extends AbstractJavaTo doTest(fileName); } + @TestMetadata("deprecatedDocTagWithAnnotation.java") + public void testDeprecatedDocTagWithAnnotation() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/docComments/deprecatedDocTagWithAnnotation.java"); + doTest(fileName); + } + @TestMetadata("docCommentWithParamTag.java") public void testDocCommentWithParamTag() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/docComments/docCommentWithParamTag.java");