Add tests to check collection literals with varargs
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
|
||||
annotation class Ann1(vararg val a: String = [])
|
||||
annotation class Ann2(vararg val a: Int = [1, 2])
|
||||
annotation class Ann3(vararg val a: Float = [1f])
|
||||
annotation class Ann4(vararg val a: String = ["/"])
|
||||
|
||||
annotation class Ann5(vararg val a: Ann4 = [])
|
||||
annotation class Ann6(vararg val a: Ann4 = [Ann4(*["a", "b"])])
|
||||
|
||||
annotation class Ann7(vararg val a: Long = [1L, <!NULL_FOR_NONNULL_TYPE!>null<!>, <!TYPE_MISMATCH!>""<!>])
|
||||
|
||||
@Ann1(*[])
|
||||
fun test1_0() {}
|
||||
|
||||
@Ann1(*["a", "b"])
|
||||
fun test1_1() {}
|
||||
|
||||
@Ann1(*<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH!>["a", 1, <!ANNOTATION_PARAMETER_MUST_BE_CONST!>null<!>]<!>)
|
||||
fun test1_2() {}
|
||||
|
||||
@Ann2(*[])
|
||||
fun test2() {}
|
||||
|
||||
@Ann3(a = *[0f, <!DIVISION_BY_ZERO!>1 / 0f<!>])
|
||||
fun test3() {}
|
||||
|
||||
@Ann5(Ann4(*["/"]))
|
||||
fun test5() {}
|
||||
|
||||
@Ann6(*[])
|
||||
fun test6() {}
|
||||
|
||||
annotation class AnnArray(val a: Array<String>)
|
||||
|
||||
@AnnArray(<!NON_VARARG_SPREAD!>*<!>["/"])
|
||||
fun testArray() {}
|
||||
|
||||
@Ann1(<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH, TYPE_MISMATCH!>[""]<!>)
|
||||
fun testVararg() {}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
package
|
||||
|
||||
@Ann1(a = {}) public fun test1_0(): kotlin.Unit
|
||||
@Ann1(a = {"a", "b"}) public fun test1_1(): kotlin.Unit
|
||||
@Ann1(a = {"a", 1, null}) public fun test1_2(): kotlin.Unit
|
||||
@Ann2(a = {}) public fun test2(): kotlin.Unit
|
||||
@Ann3(a = {0.0.toFloat(), Infinity.toFloat()}) public fun test3(): kotlin.Unit
|
||||
@Ann5(a = {Ann4(a = {"/"})}) public fun test5(): kotlin.Unit
|
||||
@Ann6(a = {}) public fun test6(): kotlin.Unit
|
||||
@AnnArray(a = {"/"}) public fun testArray(): kotlin.Unit
|
||||
@Ann1(a = {{""}}) public fun testVararg(): kotlin.Unit
|
||||
|
||||
public final annotation class Ann1 : kotlin.Annotation {
|
||||
public constructor Ann1(/*0*/ vararg a: kotlin.String /*kotlin.Array<out kotlin.String>*/ = ...)
|
||||
public final val a: kotlin.Array<out 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
|
||||
}
|
||||
|
||||
public final annotation class Ann2 : kotlin.Annotation {
|
||||
public constructor Ann2(/*0*/ vararg a: kotlin.Int /*kotlin.IntArray*/ = ...)
|
||||
public final val a: kotlin.IntArray
|
||||
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
|
||||
}
|
||||
|
||||
public final annotation class Ann3 : kotlin.Annotation {
|
||||
public constructor Ann3(/*0*/ vararg a: kotlin.Float /*kotlin.FloatArray*/ = ...)
|
||||
public final val a: kotlin.FloatArray
|
||||
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
|
||||
}
|
||||
|
||||
public final annotation class Ann4 : kotlin.Annotation {
|
||||
public constructor Ann4(/*0*/ vararg a: kotlin.String /*kotlin.Array<out kotlin.String>*/ = ...)
|
||||
public final val a: kotlin.Array<out 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
|
||||
}
|
||||
|
||||
public final annotation class Ann5 : kotlin.Annotation {
|
||||
public constructor Ann5(/*0*/ vararg a: Ann4 /*kotlin.Array<out Ann4>*/ = ...)
|
||||
public final val a: kotlin.Array<out Ann4>
|
||||
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
|
||||
}
|
||||
|
||||
public final annotation class Ann6 : kotlin.Annotation {
|
||||
public constructor Ann6(/*0*/ vararg a: Ann4 /*kotlin.Array<out Ann4>*/ = ...)
|
||||
public final val a: kotlin.Array<out Ann4>
|
||||
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
|
||||
}
|
||||
|
||||
public final annotation class Ann7 : kotlin.Annotation {
|
||||
public constructor Ann7(/*0*/ vararg a: kotlin.Long /*kotlin.LongArray*/ = ...)
|
||||
public final val a: kotlin.LongArray
|
||||
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
|
||||
}
|
||||
|
||||
public final annotation class AnnArray : kotlin.Annotation {
|
||||
public constructor AnnArray(/*0*/ a: kotlin.Array<kotlin.String>)
|
||||
public final val a: 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
|
||||
}
|
||||
Reference in New Issue
Block a user