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:
+2
-2
@@ -24,14 +24,14 @@ public final class B : kotlin.Annotation {
|
||||
public abstract fun y(): kotlin.Int
|
||||
}
|
||||
|
||||
A(arg = kotlin.String::class, b = B(y = IntegerValueType(1))) internal final class MyClass1 {
|
||||
A(arg = kotlin.String::class, b = B(y = 1)) internal final class MyClass1 {
|
||||
public constructor MyClass1()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
A(b = B(y = IntegerValueType(3))) internal final class MyClass2 {
|
||||
A(b = B(y = 3)) internal final class MyClass2 {
|
||||
public constructor MyClass2()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ A(arg = kotlin.String::class) internal final class MyClass1 {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
A(arg = kotlin.String::class, x = IntegerValueType(2)) internal final class MyClass2 {
|
||||
A(arg = kotlin.String::class, x = 2) internal final class MyClass2 {
|
||||
public constructor MyClass2()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
+2
-2
@@ -11,14 +11,14 @@ public final class A : kotlin.Annotation {
|
||||
public abstract fun x(): kotlin.Int
|
||||
}
|
||||
|
||||
A(arg = kotlin.String::class, x = IntegerValueType(4)) internal final class MyClass2 {
|
||||
A(arg = kotlin.String::class, x = 4) internal final class MyClass2 {
|
||||
public constructor MyClass2()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
A(x = IntegerValueType(5)) internal final class MyClass3 {
|
||||
A(x = 5) internal final class MyClass3 {
|
||||
public constructor MyClass3()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
+2
-2
@@ -25,14 +25,14 @@ A(value = kotlin.String::class) internal final class MyClass2 {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
A(value = kotlin.String::class, x = IntegerValueType(2)) internal final class MyClass3 {
|
||||
A(value = kotlin.String::class, x = 2) internal final class MyClass3 {
|
||||
public constructor MyClass3()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
A(value = kotlin.String::class, x = IntegerValueType(4)) internal final class MyClass4 {
|
||||
A(value = kotlin.String::class, x = 4) internal final class MyClass4 {
|
||||
public constructor MyClass4()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
+3
-3
@@ -11,21 +11,21 @@ public final class A : kotlin.Annotation {
|
||||
public abstract fun x(): kotlin.Int
|
||||
}
|
||||
|
||||
A(value = kotlin.String::class, x = IntegerValueType(2)) internal final class MyClass1 {
|
||||
A(value = kotlin.String::class, x = 2) internal final class MyClass1 {
|
||||
public constructor MyClass1()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
A(value = kotlin.String::class, x = IntegerValueType(4)) internal final class MyClass2 {
|
||||
A(value = kotlin.String::class, x = 4) internal final class MyClass2 {
|
||||
public constructor MyClass2()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
A(x = IntegerValueType(5)) internal final class MyClass3 {
|
||||
A(x = 5) internal final class MyClass3 {
|
||||
public constructor MyClass3()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
Reference in New Issue
Block a user