diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index 9a1ae4fb3d5..18ad4aad15d 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -40839,6 +40839,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/regressions/kt51171.kt"); } + @Test + @TestMetadata("kt51265.kt") + public void testKt51265() throws Exception { + runTest("compiler/testData/codegen/box/regressions/kt51265.kt"); + } + @Test @TestMetadata("kt528.kt") public void testKt528() throws Exception { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt index c4c4ad21dd3..28f0a99b4fa 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt @@ -308,7 +308,7 @@ class FirCallResolver( // A // should resolved to D.A // A.B // should be resolved to A.B // } - if (!result.applicability.isSuccess || (isUsedAsReceiver && result.candidates.all { it.symbol is FirClassifierSymbol })) { + if (!result.applicability.isSuccess || (isUsedAsReceiver && result.candidates.all { it.symbol is FirClassLikeSymbol })) { components.resolveRootPartOfQualifier( callee, qualifiedAccess.source, qualifiedAccess.typeArguments, nonFatalDiagnosticFromExpression, )?.let { return it } diff --git a/compiler/testData/codegen/box/regressions/kt51265.kt b/compiler/testData/codegen/box/regressions/kt51265.kt new file mode 100644 index 00000000000..0c537f834e2 --- /dev/null +++ b/compiler/testData/codegen/box/regressions/kt51265.kt @@ -0,0 +1,15 @@ +// TARGET_BACKEND: JVM +// WITH_REFLECT + +import kotlin.reflect.KClass + +class OK + +class T + +inline fun bar(k: KClass): String = k.simpleName!! +inline fun foo(): String = bar(T::class) + +fun box(): String { + return foo() +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 49e7447e891..d10530c8ca5 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -40377,6 +40377,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/regressions/kt51171.kt"); } + @Test + @TestMetadata("kt51265.kt") + public void testKt51265() throws Exception { + runTest("compiler/testData/codegen/box/regressions/kt51265.kt"); + } + @Test @TestMetadata("kt528.kt") public void testKt528() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index e62d4cf37b1..56d405b47e5 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -40839,6 +40839,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/regressions/kt51171.kt"); } + @Test + @TestMetadata("kt51265.kt") + public void testKt51265() throws Exception { + runTest("compiler/testData/codegen/box/regressions/kt51265.kt"); + } + @Test @TestMetadata("kt528.kt") public void testKt528() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 9c585dc6f4d..10f798d5858 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -32475,6 +32475,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/regressions/kt51171.kt"); } + @TestMetadata("kt51265.kt") + public void testKt51265() throws Exception { + runTest("compiler/testData/codegen/box/regressions/kt51265.kt"); + } + @TestMetadata("kt528.kt") public void testKt528() throws Exception { runTest("compiler/testData/codegen/box/regressions/kt528.kt");