Introduce language feature for array literals in annotations

This commit is contained in:
Mikhail Zarechenskiy
2017-03-21 02:49:03 +03:00
parent 0f1acab40d
commit bfe2ddf7c1
15 changed files with 79 additions and 4 deletions
@@ -1,3 +1,5 @@
// !LANGUAGE: +ArrayLiteralsInAnnotations
annotation class Foo(val a: IntArray, val b: Array<String>, val c: FloatArray)
@Foo([1], ["/"], [1f])
@@ -1,3 +1,5 @@
// !LANGUAGE: +ArrayLiteralsInAnnotations
import kotlin.reflect.KClass
annotation class Foo(val a: Array<KClass<*>> = [])
@@ -1,3 +1,5 @@
// !LANGUAGE: +ArrayLiteralsInAnnotations
annotation class Foo(
val a: Array<String> = ["/"],
val b: Array<String> = [],
@@ -1,3 +1,5 @@
// !LANGUAGE: +ArrayLiteralsInAnnotations
const val ONE = 1
annotation class Foo(
@@ -0,0 +1,18 @@
annotation class Foo(
val a: IntArray = <!UNSUPPORTED_FEATURE!>[]<!>,
val b: FloatArray = <!UNSUPPORTED_FEATURE!>[1f, 2f]<!>,
val c: Array<String> = <!UNSUPPORTED_FEATURE!>["/"]<!>
)
@Foo
fun test1() {}
@Foo(a = <!UNSUPPORTED_FEATURE!>[1, 2]<!>, c = <!UNSUPPORTED_FEATURE!>["a"]<!>)
fun test2() {}
@Foo(<!UNSUPPORTED_FEATURE!>[1]<!>, <!UNSUPPORTED_FEATURE!>[3f]<!>, <!UNSUPPORTED_FEATURE!>["a"]<!>)
fun test3() {}
fun test4() {
[1, 2]
}
@@ -0,0 +1,16 @@
package
@Foo public fun test1(): kotlin.Unit
@Foo(a = {1, 2}, c = {"a"}) public fun test2(): kotlin.Unit
@Foo(a = {1}, b = {3.0.toFloat()}, c = {"a"}) public fun test3(): kotlin.Unit
public fun test4(): kotlin.Unit
public final annotation class Foo : kotlin.Annotation {
public constructor Foo(/*0*/ a: kotlin.IntArray = ..., /*1*/ b: kotlin.FloatArray = ..., /*2*/ c: kotlin.Array<kotlin.String> = ...)
public final val a: kotlin.IntArray
public final val b: kotlin.FloatArray
public final val c: kotlin.Array<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
}