diff --git a/compiler/testData/asJava/lightClasses/facades/EmptyFile.java b/compiler/testData/asJava/lightClasses/facades/EmptyFile.java new file mode 100644 index 00000000000..a7ed8598c7c --- /dev/null +++ b/compiler/testData/asJava/lightClasses/facades/EmptyFile.java @@ -0,0 +1 @@ + diff --git a/compiler/testData/asJava/lightClasses/facades/EmptyFile.kt b/compiler/testData/asJava/lightClasses/facades/EmptyFile.kt new file mode 100644 index 00000000000..0f78b8804a6 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/facades/EmptyFile.kt @@ -0,0 +1,2 @@ +//a.b.c.EmptyFileKt +package a.b.c \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java index 55f8d01c628..22eb452ab6b 100644 --- a/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java @@ -70,6 +70,12 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/asJava/lightClasses/facades"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("EmptyFile.kt") + public void testEmptyFile() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/EmptyFile.kt"); + doTest(fileName); + } + @TestMetadata("SingleFile.kt") public void testSingleFile() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/SingleFile.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/asJava/LightClassTestCommon.kt b/compiler/tests/org/jetbrains/kotlin/asJava/LightClassTestCommon.kt index 264ba4f726e..1504988bdd8 100644 --- a/compiler/tests/org/jetbrains/kotlin/asJava/LightClassTestCommon.kt +++ b/compiler/tests/org/jetbrains/kotlin/asJava/LightClassTestCommon.kt @@ -40,6 +40,14 @@ object LightClassTestCommon { val lightClass = findLightClass(fqName) + val actual = actualText(fqName, lightClass, normalizeText) + JetTestUtils.assertEqualsToFile(JetTestUtils.replaceExtension(testDataFile, "java"), actual) + } + + private fun actualText(fqName: String?, lightClass: PsiClass?, normalizeText: (String) -> String): String { + if (lightClass == null) { + return "" + } TestCase.assertTrue("Not a light class: $lightClass ($fqName)", lightClass is KotlinLightClass) val delegate = (lightClass as KotlinLightClass).getDelegate() @@ -48,6 +56,6 @@ object LightClassTestCommon { val buffer = StringBuilder() (delegate as ClsElementImpl).appendMirrorText(0, buffer) val actual = normalizeText(buffer.toString()) - JetTestUtils.assertEqualsToFile(JetTestUtils.replaceExtension(testDataFile, "java"), actual) + return actual } } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java index 662673bc151..44708769900 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java @@ -43,6 +43,12 @@ public class IdeLightClassTestGenerated extends AbstractIdeLightClassTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/asJava/lightClasses/facades"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("EmptyFile.kt") + public void testEmptyFile() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/EmptyFile.kt"); + doTest(fileName); + } + @TestMetadata("SingleFile.kt") public void testSingleFile() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/SingleFile.kt");