diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java index 77200e4a5c0..d34743eefba 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java @@ -494,6 +494,12 @@ public class DiagnosisCompilerFirTestdataTestGenerated extends AbstractDiagnosis runTest("compiler/fir/analysis-tests/testData/resolve/recursiveTypeAlias.kt"); } + @Test + @TestMetadata("reifiedTypeOverload.kt") + public void testReifiedTypeOverload() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.kt"); + } + @Test @TestMetadata("sealedClass.kt") public void testSealedClass() throws Exception { diff --git a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java index 263c7680139..7d83b861acc 100644 --- a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java +++ b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java @@ -419,6 +419,11 @@ public class LazyBodyIsNotTouchedTilContractsPhaseTestGenerated extends Abstract runTest("compiler/fir/analysis-tests/testData/resolve/recursiveTypeAlias.kt"); } + @TestMetadata("reifiedTypeOverload.kt") + public void testReifiedTypeOverload() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.kt"); + } + @TestMetadata("sealedClass.kt") public void testSealedClass() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolve/sealedClass.kt"); diff --git a/compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.fir.txt b/compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.fir.txt new file mode 100644 index 00000000000..e011a05bbce --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.fir.txt @@ -0,0 +1,36 @@ +FILE: classes.kt + package classes + + public abstract class Foo : R|kotlin/Any| { + public constructor(): R|classes/Foo| { + super() + } + + } + public abstract class Bar : R|kotlin/Any| { + public constructor(): R|classes/Bar| { + super() + } + + } +FILE: bar.kt + package classes.bar + + public final inline fun nameOf(): R|kotlin/String| { + ^nameOf String(Bar) + } +FILE: foo.kt + package classes.foo + + public final inline fun nameOf(): R|kotlin/String| { + ^nameOf String(Foo) + } +FILE: main.kt + package main + + public final fun foo(): R|kotlin/Unit| { + } + public final fun test(): R|kotlin/Unit| { + R|classes/bar/nameOf|() + R|classes/foo/nameOf|() + } diff --git a/compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.kt b/compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.kt new file mode 100644 index 00000000000..fb6ddefcf80 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.kt @@ -0,0 +1,37 @@ +// FILE: classes.kt +package classes + +abstract class Foo +abstract class Bar + +// FILE: bar.kt +package classes.bar + +import classes.Bar + +inline fun nameOf(): String { + return "Bar" +} + +// FILE: foo.kt +package classes.foo + +import classes.Foo + +inline fun nameOf(): String { + return "Foo" +} + +// FILE: main.kt +package main + +import classes.* +import classes.bar.* +import classes.foo.* + +fun foo() {} + +fun test() { + nameOf() + nameOf() +} diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java index f95408a9d9c..3735925f257 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java @@ -494,6 +494,12 @@ public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest { runTest("compiler/fir/analysis-tests/testData/resolve/recursiveTypeAlias.kt"); } + @Test + @TestMetadata("reifiedTypeOverload.kt") + public void testReifiedTypeOverload() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.kt"); + } + @Test @TestMetadata("sealedClass.kt") public void testSealedClass() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java index 1cb289e163d..6f571afc2af 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java @@ -494,6 +494,12 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos runTest("compiler/fir/analysis-tests/testData/resolve/recursiveTypeAlias.kt"); } + @Test + @TestMetadata("reifiedTypeOverload.kt") + public void testReifiedTypeOverload() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/reifiedTypeOverload.kt"); + } + @Test @TestMetadata("sealedClass.kt") public void testSealedClass() throws Exception {