[FIR] Always expand a type before checking it in FirConstChecks

The issue appeared when we analyzed some typealias.
1. The typealias itself could be valid, but it could point
to an invalid type.
2. The typealias could point, for example, to an unsigned
type that must be handled in a special way

#KT-59894
This commit is contained in:
Ivan Kylchik
2023-11-15 17:25:19 +01:00
committed by Space Team
parent ab1ce759a3
commit 5dbe81fd7f
9 changed files with 96 additions and 16 deletions
+2 -2
View File
@@ -73,7 +73,7 @@ fun throwsSpreadArrayOfUnresolved() {}
typealias UEAlias = <!UNRESOLVED_REFERENCE!>UE<!>
@Throws(UEAlias::class)
@Throws(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>UEAlias::class<!>)
fun throwsTypealiasToUnresolved() {}
interface Base0 {
@@ -313,7 +313,7 @@ suspend fun suspendThrowsSpreadLiteralWithUnresolved() {}
@Throws(*<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>arrayOf(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!><!UNRESOLVED_REFERENCE!>UE<!>::class<!>)<!>)
suspend fun suspendThrowsSpreadArrayOfUnresolved() {}
@Throws(UEAlias::class)
@Throws(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>UEAlias::class<!>)
suspend fun suspendThrowsTypealiasToUnresolved() {}
@Throws(<!ARGUMENT_TYPE_MISMATCH!>Orphan::class<!>)