[IR] Fix annotation arguments comparison when expression is expect enum

...actualized via typealias. This caused false-positive report of
`ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE`.
In such case it's incorrect to compare signatures, because classes have
different `ClassId`s. Instead, classes could be compared using
`areCompatibleExpectActualTypes` which actualizes both types, and
then enum value names compared.

^KT-62104
^KT-59940
This commit is contained in:
Roman Efremov
2023-10-04 11:16:10 +02:00
committed by Space Team
parent 67a46eba9c
commit faae5f9b38
6 changed files with 74 additions and 1 deletions
@@ -1024,6 +1024,12 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst
runTest("compiler/testData/diagnostics/tests/multiplatform/defaultArguments/annotationsViaActualTypeAlias2.kt");
}
@Test
@TestMetadata("annotationsViaActualTypeAliasExpectEnumArg.kt")
public void testAnnotationsViaActualTypeAliasExpectEnumArg() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/defaultArguments/annotationsViaActualTypeAliasExpectEnumArg.kt");
}
@Test
@TestMetadata("companionMethodViaActualTypealias.kt")
public void testCompanionMethodViaActualTypealias() throws Exception {
@@ -1024,6 +1024,12 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi
runTest("compiler/testData/diagnostics/tests/multiplatform/defaultArguments/annotationsViaActualTypeAlias2.kt");
}
@Test
@TestMetadata("annotationsViaActualTypeAliasExpectEnumArg.kt")
public void testAnnotationsViaActualTypeAliasExpectEnumArg() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/defaultArguments/annotationsViaActualTypeAliasExpectEnumArg.kt");
}
@Test
@TestMetadata("companionMethodViaActualTypealias.kt")
public void testCompanionMethodViaActualTypealias() throws Exception {