Support object array annotation arguments in deserialization

This commit is contained in:
Alexander Udalov
2014-07-18 19:38:44 +04:00
parent d5681540ec
commit 540b87a1dc
12 changed files with 140 additions and 28 deletions
@@ -0,0 +1,12 @@
//ALLOW_AST_ACCESS
package test
import java.lang.annotation.ElementType
annotation class Anno(vararg t: ElementType)
Anno(ElementType.METHOD, ElementType.FIELD) fun foo() {}
Anno(ElementType.PACKAGE) val bar = 42
Anno() fun baz() {}
@@ -0,0 +1,10 @@
package test
test.Anno(t = {ElementType.PACKAGE}: kotlin.Array<java.lang.annotation.ElementType>) internal val bar: kotlin.Int = 42
internal fun <get-bar>(): kotlin.Int
test.Anno(t = {}: kotlin.Array<java.lang.annotation.ElementType>) internal fun baz(): kotlin.Unit
test.Anno(t = {ElementType.METHOD, ElementType.FIELD}: kotlin.Array<java.lang.annotation.ElementType>) internal fun foo(): kotlin.Unit
internal final annotation class Anno : kotlin.Annotation {
/*primary*/ public constructor Anno(/*0*/ vararg t: java.lang.annotation.ElementType /*kotlin.Array<java.lang.annotation.ElementType>*/)
}
@@ -0,0 +1,10 @@
//ALLOW_AST_ACCESS
package test
annotation class Anno(vararg t: String)
Anno("live", "long") fun foo() {}
Anno("prosper") val bar = 42
Anno() fun baz() {}
@@ -0,0 +1,10 @@
package test
test.Anno(t = {"prosper"}: kotlin.Array<kotlin.String>) internal val bar: kotlin.Int = 42
internal fun <get-bar>(): kotlin.Int
test.Anno(t = {}: kotlin.Array<kotlin.String>) internal fun baz(): kotlin.Unit
test.Anno(t = {"live", "long"}: kotlin.Array<kotlin.String>) internal fun foo(): kotlin.Unit
internal final annotation class Anno : kotlin.Annotation {
/*primary*/ public constructor Anno(/*0*/ vararg t: kotlin.String /*kotlin.Array<kotlin.String>*/)
}