From 9d2d75313b0ae06f2590fc84c13a1e5e9c84da58 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Mon, 4 Sep 2023 17:37:47 +0300 Subject: [PATCH] [K/N][tests] Added a test for anonymous object in a top level inline fun --- .../tests/codegen/kclass/kclass0.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/kotlin-native/backend.native/tests/codegen/kclass/kclass0.kt b/kotlin-native/backend.native/tests/codegen/kclass/kclass0.kt index f1ffc3ab70a..d19285e31f8 100644 --- a/kotlin-native/backend.native/tests/codegen/kclass/kclass0.kt +++ b/kotlin-native/backend.native/tests/codegen/kclass/kclass0.kt @@ -211,6 +211,14 @@ private fun checkLocalClasses(args: Array) { ::suspendFunWithLocalClass.runCoroutine() } +interface HasFoo { + fun foo(): String +} + +private inline fun getHasFoo(s: String) = object : HasFoo { + override fun foo(): String = s +} + private fun checkAnonymousObjects(args: Array) { // Anonymous object. with(object : Any() { @@ -370,6 +378,16 @@ private fun checkAnonymousObjects(args: Array) { } } ::suspendFunWithAnonymousObject.runCoroutine() + + val hasFoo = getHasFoo("zzz") + checkClass( + hasFoo::class, + expectedQualifiedName = null, + expectedSimpleName = null, + expectedToStringName = "class codegen.kclass.kclass0.Kclass0Kt$1", + expectedInstance = hasFoo, + expectedNotInstance = Any() + ) } private fun checkAnonymousObjectsAssignedToProperty(args: Array) {