[FE, Java Resolve] Filter out canonical record constructors

This fixes a false positive overload resolution ambiguity in FIR
when invoking a record constructor when it also defines a canonical
constructor (compact or explicit).

#KT-62151 Fixed
This commit is contained in:
Kirill Rakhman
2023-10-25 13:46:22 +02:00
committed by Space Team
parent 3327bed5bd
commit 2d7cadc0ab
7 changed files with 55 additions and 2 deletions
@@ -34517,6 +34517,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/tests/testsWithJava17/jvmRecord/irrelevantFields.kt");
}
@Test
@TestMetadata("javaRecordWithCanonicalConstructor.kt")
public void testJavaRecordWithCanonicalConstructor() throws Exception {
runTest("compiler/testData/diagnostics/tests/testsWithJava17/jvmRecord/javaRecordWithCanonicalConstructor.kt");
}
@Test
@TestMetadata("javaRecordWithExplicitComponent.kt")
public void testJavaRecordWithExplicitComponent() throws Exception {
@@ -34631,6 +34631,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/tests/testsWithJava17/jvmRecord/irrelevantFields.kt");
}
@Test
@TestMetadata("javaRecordWithCanonicalConstructor.kt")
public void testJavaRecordWithCanonicalConstructor() throws Exception {
runTest("compiler/testData/diagnostics/tests/testsWithJava17/jvmRecord/javaRecordWithCanonicalConstructor.kt");
}
@Test
@TestMetadata("javaRecordWithExplicitComponent.kt")
public void testJavaRecordWithExplicitComponent() throws Exception {