c313887641
1. ConstantValue * just holds some value and its type * implementations for concrete constants 2. CompileTimeConstant * is only produced by ConstantExpressionEvaluator * has additional flags (canBeUsedInAnnotation etc) * has two implementations TypedCompileTimeConstant containing a constant value and IntegerValueConstant which does not have exact type * can be converted to ConstantValue Adjustt usages to use ConstantValue if flags are not needed Add tests for some uncovered cases
13 lines
242 B
Kotlin
Vendored
13 lines
242 B
Kotlin
Vendored
package test
|
|
|
|
annotation class Ann(
|
|
val b: Byte,
|
|
val s: Short,
|
|
val i: Int,
|
|
val l: Long
|
|
)
|
|
|
|
Ann(1 - 1, 1 - 1, 1 - 1, 1 - 1) class MyClass
|
|
|
|
// EXPECTED: Ann(b = 0.toByte(), i = 0, l = 0.toLong(), s = 0.toShort())
|