Split CompileTimeConstant into two entities
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
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
A(value = {IntegerValueType(1), "b"}) internal fun test(): kotlin.Unit
|
||||
A(value = {1, "b"}) internal fun test(): kotlin.Unit
|
||||
|
||||
public final class A : kotlin.Annotation {
|
||||
public constructor A(/*0*/ vararg value: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
B(args = {IntegerValueType(1), "b"}) internal fun test(): kotlin.Unit
|
||||
B(args = {1, "b"}) internal fun test(): kotlin.Unit
|
||||
|
||||
kotlin.annotation.annotation() internal final class B : kotlin.Annotation {
|
||||
public constructor B(/*0*/ vararg args: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||
|
||||
Reference in New Issue
Block a user