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
12 lines
259 B
Kotlin
Vendored
12 lines
259 B
Kotlin
Vendored
package test
|
|
|
|
annotation class Ann(
|
|
val b1: Byte,
|
|
val b2: Byte,
|
|
val b3: Byte,
|
|
val b4: Byte
|
|
)
|
|
|
|
Ann(1, 1.toByte(), 128.toByte(), 128) class MyClass
|
|
|
|
// EXPECTED: Ann(b1 = 1.toByte(), b2 = 1.toByte(), b3 = -128.toByte(), b4 = 128) |