Made vararg parameters have Array<out T> type
instead of simply Array<T> #KT-1638 Fixed #KT-2163 Fixed #KT-3213 Fixed #KT-4172 Fixed #KT-5534 Fixed
This commit is contained in:
+1
-1
@@ -15,7 +15,7 @@ fun foo(): Int = 1
|
||||
|
||||
annotation class AnnJC(val i: Array<Class<*>>)
|
||||
AnnJC(array(javaClass<Test>()))
|
||||
AnnJC(array(iJC))
|
||||
AnnJC(array(<!ANNOTATION_PARAMETER_MUST_BE_CLASS_LITERAL!>iJC<!>))
|
||||
class TestJC
|
||||
val iJC = javaClass<Test>()
|
||||
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ fun foo(): Int = 1
|
||||
|
||||
annotation class AnnJC(vararg val i: Class<*>)
|
||||
AnnJC(*array(javaClass<Test>()))
|
||||
AnnJC(*array(iJC))
|
||||
AnnJC(*array(<!ANNOTATION_PARAMETER_MUST_BE_CLASS_LITERAL!>iJC<!>))
|
||||
class TestJC
|
||||
val iJC = javaClass<Test>()
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// !CHECK_TYPE
|
||||
|
||||
fun test(a: Array<out String>) {
|
||||
val b = a.toList()
|
||||
|
||||
b checkType { it : _<List<String>> }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package
|
||||
|
||||
internal fun test(/*0*/ a: kotlin.Array<out kotlin.String>): kotlin.Unit
|
||||
@@ -0,0 +1,9 @@
|
||||
// FILE: A.java
|
||||
public class A {
|
||||
public static void main(String[] args) {}
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
fun main(args: Array<String>) {
|
||||
A.main(array())
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package
|
||||
|
||||
internal fun main(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
|
||||
|
||||
public open class A {
|
||||
public constructor A()
|
||||
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
|
||||
|
||||
// Static members
|
||||
public open fun main(/*0*/ args: kotlin.Array<(out) kotlin.String!>!): kotlin.Unit
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
fun test() {
|
||||
val p: Array<String> = array("a")
|
||||
foo(*p)
|
||||
}
|
||||
|
||||
fun foo(vararg a: String?) = a
|
||||
@@ -0,0 +1,4 @@
|
||||
package
|
||||
|
||||
internal fun foo(/*0*/ vararg a: kotlin.String? /*kotlin.Array<out kotlin.String?>*/): kotlin.Array<out kotlin.String?>
|
||||
internal fun test(): kotlin.Unit
|
||||
Reference in New Issue
Block a user