K2: add test for KT-56520, case (7), qualifier receivers (4.2)

This commit covers enum entry vs companion member case,
when two companion objects are in the scope.
K1 reports UNRESOLVED_REFERENCE here, probably due to ambiguity.
About K2, while resolving Some.foo it first tries to resolve Some
as a "general" variable access, and gets two candidates with companions.
After that it tries to resolve Some as a qualifier,
but we have no scope with a single qualifier, so no influence here.
With two ambiguous candidates with companions for Some,
OVERLOAD_RESOLUTION_AMBIGUITY is reported.
This commit is contained in:
Mikhail Glukhikh
2023-10-31 13:21:12 +01:00
committed by Space Team
parent 63ce4ba6b0
commit 1f989dce64
8 changed files with 161 additions and 0 deletions
@@ -44797,6 +44797,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/testsWithStdLib/resolve/ambiguousTypeReferences/qualifierEnumEntryOrCompanionMemberCase.kt");
}
@Test
@TestMetadata("qualifierEnumEntryOrCompanionMemberCase2.kt")
public void testQualifierEnumEntryOrCompanionMemberCase2() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/resolve/ambiguousTypeReferences/qualifierEnumEntryOrCompanionMemberCase2.kt");
}
@Test
@TestMetadata("qualifierForStaticCase.kt")
public void testQualifierForStaticCase() throws Exception {
@@ -44797,6 +44797,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/testsWithStdLib/resolve/ambiguousTypeReferences/qualifierEnumEntryOrCompanionMemberCase.kt");
}
@Test
@TestMetadata("qualifierEnumEntryOrCompanionMemberCase2.kt")
public void testQualifierEnumEntryOrCompanionMemberCase2() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/resolve/ambiguousTypeReferences/qualifierEnumEntryOrCompanionMemberCase2.kt");
}
@Test
@TestMetadata("qualifierForStaticCase.kt")
public void testQualifierForStaticCase() throws Exception {