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
21 lines
918 B
Plaintext
Vendored
21 lines
918 B
Plaintext
Vendored
package
|
|
|
|
package test {
|
|
internal val some: test.SomeObject
|
|
|
|
kotlin.annotation.annotation() internal final class BadAnnotation : kotlin.Annotation {
|
|
public constructor BadAnnotation(/*0*/ s: kotlin.String)
|
|
internal final val s: kotlin.String
|
|
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
|
|
}
|
|
|
|
test.BadAnnotation(s = 1) internal object SomeObject {
|
|
private constructor SomeObject()
|
|
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
|
|
}
|
|
}
|