diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt index 009c4210117..0a9dd9bc9d1 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt @@ -197,6 +197,7 @@ object FirSessionFactory : FirAbstractSessionFactory() { } } + @OptIn(SessionConfiguration::class) @TestOnly fun createEmptySession(): FirSession { return object : FirSession(null, Kind.Source) {}.apply { diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt index 1b751d0bae3..f089645181b 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt @@ -52,7 +52,7 @@ private class EnumClassLowering(private val context: JvmBackendContext) : ClassL * ``` * enum MyEnum extends Enum { * private static final synthetic MyEnum[] $VALUES - * private static final synthetic List $ENTRIES; + * private static final synthetic EnumEntries $ENTRIES; * * { * A = new MyEnum("A", 0); @@ -66,7 +66,7 @@ private class EnumClassLowering(private val context: JvmBackendContext) : ClassL * } * * // Should be RO property from Kotlin standpoint - * public static List getEntries() { + * public static EnumEntries getEntries() { * return $ENTRIES; * } * @@ -351,9 +351,7 @@ internal fun IrBuilderWithScope.irCreateEnumEntriesIndy( putValueArgument(3, irVararg(context.irBuiltIns.anyType, emptyList())) putValueArgument(4, irBoolean(false)) } - // Bind it to temp var and pass to ctor - val supplier = createTmpVariable(indyCall, "supplier") +irCall(symbols.createEnumEntries).apply { - putValueArgument(0, irGet(supplier)) + putValueArgument(0, indyCall) } }) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt index 8e8f1617277..17c63922fa8 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt @@ -55,7 +55,7 @@ class JvmSymbols( private val kotlinJvmPackage: IrPackageFragment = createPackage(FqName("kotlin.jvm")) private val kotlinJvmInternalPackage: IrPackageFragment = createPackage(FqName("kotlin.jvm.internal")) private val kotlinJvmFunctionsPackage: IrPackageFragment = createPackage(FqName("kotlin.jvm.functions")) - private val kotlinEnumPackage: IrPackageFragment = createPackage(FqName("kotlin.enums")) + private val kotlinEnumsPackage: IrPackageFragment = createPackage(FqName("kotlin.enums")) private val kotlinReflectPackage: IrPackageFragment = createPackage(FqName("kotlin.reflect")) private val javaLangPackage: IrPackageFragment = createPackage(FqName("java.lang")) private val javaLangInvokePackage: IrPackageFragment = createPackage(FqName("java.lang.invoke")) @@ -97,7 +97,7 @@ class JvmSymbols( "kotlin" -> kotlinPackage "kotlin.coroutines" -> kotlinCoroutinesPackage "kotlin.coroutines.jvm.internal" -> kotlinCoroutinesJvmInternalPackage - "kotlin.enums" -> kotlinEnumPackage + "kotlin.enums" -> kotlinEnumsPackage "kotlin.jvm.internal" -> kotlinJvmInternalPackage "kotlin.jvm.functions" -> kotlinJvmFunctionsPackage "kotlin.jvm" -> kotlinJvmPackage diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrInlineBodiesHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrInlineBodiesHandler.kt index 1fddd11c42a..f19699d5ae7 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrInlineBodiesHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrInlineBodiesHandler.kt @@ -23,13 +23,12 @@ class IrInlineBodiesHandler(testServices: TestServices) : AbstractIrHandler(test override fun processModule(module: TestModule, info: IrBackendInput) { val irModule = info.irModuleFragment irModule.acceptChildrenVoid(InlineFunctionsCollector()) - assertions.assertTrue(declaredInlineFunctionSignatures.isNotEmpty()) irModule.acceptChildrenVoid(InlineCallBodiesCheck()) assertions.assertTrue((info as IrBackendInput.JvmIrBackendInput).backendInput.symbolTable.allUnbound.isEmpty()) } override fun processAfterAllModules(someAssertionWasFailed: Boolean) { - // TODO("Not yet implemented") + assertions.assertTrue(declaredInlineFunctionSignatures.isNotEmpty()) } inner class InlineFunctionsCollector : IrElementVisitorVoid {