diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ClassToObjectPromotionConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ClassToObjectPromotionConversion.kt index 25bb98660ba..9f31321fd93 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ClassToObjectPromotionConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ClassToObjectPromotionConversion.kt @@ -49,7 +49,7 @@ class ClassToObjectPromotionConversion(context: NewJ2kConverterContext) : Recurs it is JKClass && it.classKind != JKClass.ClassKind.COMPANION }.map { it.detached(element.classBody) } }, - JKAnnotationList(), + element.annotationList, element.otherModifierElements, element.visibilityElement, JKModalityModifierElement(Modality.FINAL) diff --git a/nj2k/testData/newJ2k/class/classToObjectWithAnnotations.java b/nj2k/testData/newJ2k/class/classToObjectWithAnnotations.java new file mode 100644 index 00000000000..9112a541a0c --- /dev/null +++ b/nj2k/testData/newJ2k/class/classToObjectWithAnnotations.java @@ -0,0 +1,6 @@ +@interface Foo + +@Foo +class A { + static void bar() {} +} \ No newline at end of file diff --git a/nj2k/testData/newJ2k/class/classToObjectWithAnnotations.kt b/nj2k/testData/newJ2k/class/classToObjectWithAnnotations.kt new file mode 100644 index 00000000000..68f92f1bb66 --- /dev/null +++ b/nj2k/testData/newJ2k/class/classToObjectWithAnnotations.kt @@ -0,0 +1,6 @@ +internal annotation class Foo + +@Foo +internal object A { + fun bar() {} +} diff --git a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java index d2a05450f60..0a00f2b4e03 100644 --- a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java +++ b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java @@ -839,6 +839,11 @@ public class NewJavaToKotlinConverterSingleFileTestGenerated extends AbstractNew runTest("nj2k/testData/newJ2k/class/ClassShadowing.java"); } + @TestMetadata("classToObjectWithAnnotations.java") + public void testClassToObjectWithAnnotations() throws Exception { + runTest("nj2k/testData/newJ2k/class/classToObjectWithAnnotations.java"); + } + @TestMetadata("classWithEmptyMethods.java") public void testClassWithEmptyMethods() throws Exception { runTest("nj2k/testData/newJ2k/class/classWithEmptyMethods.java");