Load annotations on compiled Kotlin enum entries

#KT-10339 Fixed
This commit is contained in:
Alexander Udalov
2015-12-10 23:05:49 +03:00
parent 3e2eb8c1a0
commit 6f347f351a
8 changed files with 89 additions and 12 deletions
@@ -0,0 +1,15 @@
// ALLOW_AST_ACCESS
package test
annotation class Anno(val value: String = "0", val x: Int = 0)
annotation class Bnno
enum class Eee {
@Anno()
Entry1,
Entry2,
@Anno("3") @Bnno
Entry3,
@Anno("4", 4)
Entry4,
}
@@ -0,0 +1,37 @@
package test
public final annotation class Anno : kotlin.Annotation {
/*primary*/ public constructor Anno(/*0*/ value: kotlin.String = ..., /*1*/ x: kotlin.Int = ...)
public final val value: kotlin.String
public final fun <get-value>(): kotlin.String
public final val x: kotlin.Int
public final fun <get-x>(): kotlin.Int
}
public final annotation class Bnno : kotlin.Annotation {
/*primary*/ public constructor Bnno()
}
public final enum class Eee : kotlin.Enum<test.Eee> {
@test.Anno() enum entry Entry1
enum entry Entry2
@test.Anno(value = "3") @test.Bnno() enum entry Entry3
@test.Anno(value = "4", x = 4) enum entry Entry4
/*primary*/ private constructor Eee()
public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ fun <get-name>(): kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
public final override /*1*/ /*fake_override*/ fun <get-ordinal>(): kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.Eee): kotlin.Int
// Static members
@kotlin.Deprecated(level = DeprecationLevel.ERROR, message = "Use 'values()' function instead", replaceWith = kotlin.ReplaceWith(expression = "this.values()", imports = {})) public final /*synthesized*/ val values: kotlin.Array<test.Eee>
public final fun <get-values>(): kotlin.Array<test.Eee>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): test.Eee
public final /*synthesized*/ fun values(): kotlin.Array<test.Eee>
}