JVM_IR: generate file class without members if it has metadata

This commit is contained in:
Dmitry Petrov
2019-03-20 18:04:53 +03:00
parent a5c95275f0
commit f9119c001e
4 changed files with 8 additions and 1 deletions
@@ -59,7 +59,7 @@ private class FileClassLowering(val context: JvmBackendContext) : FileLoweringPa
fileClassMembers.add(it)
}
if (fileClassMembers.isEmpty()) return
if (fileClassMembers.isEmpty() && irFile.metadata?.descriptors.isNullOrEmpty()) return
val irFileClass = createFileClass(irFile, fileClassMembers)
classes.add(irFileClass)
@@ -0,0 +1 @@
typealias Bar<T> = (T) -> String
@@ -0,0 +1 @@
FILE fqName:<root> fileName:/fileWithTypeAliasesOnly.kt
@@ -264,6 +264,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
runTest("compiler/testData/ir/irText/declarations/fileWithAnnotations.kt");
}
@TestMetadata("fileWithTypeAliasesOnly.kt")
public void testFileWithTypeAliasesOnly() throws Exception {
runTest("compiler/testData/ir/irText/declarations/fileWithTypeAliasesOnly.kt");
}
@TestMetadata("interfaceProperties.kt")
public void testInterfaceProperties() throws Exception {
runTest("compiler/testData/ir/irText/declarations/interfaceProperties.kt");