[K2] Force interpretation of default argument for annotation's property

We miss these expression because they might be represented as
`IrGetFiled` values, but they still must be turned into `IrConst`.

#KT-58007 Fixed
This commit is contained in:
Ivan Kylchik
2023-04-26 14:00:10 +02:00
committed by Space Team
parent 37402336d5
commit 535806d0ab
3 changed files with 36 additions and 4 deletions
@@ -5,6 +5,21 @@
// MODULE: lib
// FILE: lib.kt
import kotlin.reflect.KClass
@Target(AnnotationTarget.FIELD)
@Retention(AnnotationRetention.RUNTIME)
annotation class IntegerNumberValid(
val message: String = <!EVALUATED("Has illegal integer number value")!>"Has illegal integer number value"<!>,
val groups: Array<KClass<*>> = [],
val minimum: Long = Long.<!EVALUATED("-9223372036854775808")!>MIN_VALUE<!>,
val maximum: Long = Long.<!EVALUATED("9223372036854775807")!>MAX_VALUE<!>,
val minMaxArray: LongArray = longArrayOf(Long.<!EVALUATED("-9223372036854775808")!>MIN_VALUE<!>, Long.<!EVALUATED("9223372036854775807")!>MAX_VALUE<!>),
val minMaxArrayCollection: LongArray = [Long.<!EVALUATED("-9223372036854775808")!>MIN_VALUE<!>, Long.<!EVALUATED("9223372036854775807")!>MAX_VALUE<!>],
)
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.BINARY)
annotation class AnnotationWithDefault(val str: String = "Str" <!EVALUATED("String")!>+ "ing"<!>)