More tests for varargs updated
This commit is contained in:
@@ -1470,8 +1470,8 @@ public final annotation class inline : kotlin.Annotation {
|
|||||||
|
|
||||||
public final annotation class inlineOptions : kotlin.Annotation {
|
public final annotation class inlineOptions : kotlin.Annotation {
|
||||||
/*primary*/ public constructor inlineOptions(/*0*/ vararg value: kotlin.InlineOption /*kotlin.Array<kotlin.InlineOption>*/)
|
/*primary*/ public constructor inlineOptions(/*0*/ vararg value: kotlin.InlineOption /*kotlin.Array<kotlin.InlineOption>*/)
|
||||||
internal final val value: kotlin.Array<kotlin.InlineOption>
|
internal final val value: kotlin.Array<out kotlin.InlineOption>
|
||||||
internal final fun <get-value>(): kotlin.Array<kotlin.InlineOption>
|
internal final fun <get-value>(): kotlin.Array<out kotlin.InlineOption>
|
||||||
}
|
}
|
||||||
|
|
||||||
public final annotation class noinline : kotlin.Annotation {
|
public final annotation class noinline : kotlin.Annotation {
|
||||||
@@ -1480,8 +1480,8 @@ public final annotation class noinline : kotlin.Annotation {
|
|||||||
|
|
||||||
public final annotation class suppress : kotlin.Annotation {
|
public final annotation class suppress : kotlin.Annotation {
|
||||||
/*primary*/ public constructor suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array<kotlin.String>*/)
|
/*primary*/ public constructor suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array<kotlin.String>*/)
|
||||||
internal final val names: kotlin.Array<kotlin.String>
|
internal final val names: kotlin.Array<out kotlin.String>
|
||||||
internal final fun <get-names>(): kotlin.Array<kotlin.String>
|
internal final fun <get-names>(): kotlin.Array<out kotlin.String>
|
||||||
}
|
}
|
||||||
|
|
||||||
public final annotation class tailRecursive : kotlin.Annotation {
|
public final annotation class tailRecursive : kotlin.Annotation {
|
||||||
|
|||||||
+6
-6
@@ -1,12 +1,12 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
test.Anno(t = {ElementType.PACKAGE}: kotlin.Array<java.lang.annotation.ElementType>) internal val bar: kotlin.Int = 42
|
test.Anno(t = {ElementType.PACKAGE}: kotlin.Array<out java.lang.annotation.ElementType>) internal val bar: kotlin.Int = 42
|
||||||
internal fun <get-bar>(): kotlin.Int
|
internal fun <get-bar>(): kotlin.Int
|
||||||
test.Anno(t = {}: kotlin.Array<java.lang.annotation.ElementType>) internal fun baz(): kotlin.Unit
|
test.Anno(t = {}: kotlin.Array<out 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
|
test.Anno(t = {ElementType.METHOD, ElementType.FIELD}: kotlin.Array<out java.lang.annotation.ElementType>) internal fun foo(): kotlin.Unit
|
||||||
|
|
||||||
internal final annotation class Anno : kotlin.Annotation {
|
internal final annotation class Anno : kotlin.Annotation {
|
||||||
/*primary*/ public constructor Anno(/*0*/ vararg t: java.lang.annotation.ElementType /*kotlin.Array<java.lang.annotation.ElementType>*/)
|
/*primary*/ public constructor Anno(/*0*/ vararg t: java.lang.annotation.ElementType /*kotlin.Array<out java.lang.annotation.ElementType>*/)
|
||||||
internal final val t: kotlin.Array<java.lang.annotation.ElementType>
|
internal final val t: kotlin.Array<out java.lang.annotation.ElementType>
|
||||||
internal final fun <get-t>(): kotlin.Array<java.lang.annotation.ElementType>
|
internal final fun <get-t>(): kotlin.Array<out java.lang.annotation.ElementType>
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-6
@@ -1,12 +1,12 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
test.Anno(t = {"prosper"}: kotlin.Array<kotlin.String>) internal val bar: kotlin.Int = 42
|
test.Anno(t = {"prosper"}: kotlin.Array<out kotlin.String>) internal val bar: kotlin.Int = 42
|
||||||
internal fun <get-bar>(): kotlin.Int
|
internal fun <get-bar>(): kotlin.Int
|
||||||
test.Anno(t = {}: kotlin.Array<kotlin.String>) internal fun baz(): kotlin.Unit
|
test.Anno(t = {}: kotlin.Array<out kotlin.String>) internal fun baz(): kotlin.Unit
|
||||||
test.Anno(t = {"live", "long"}: kotlin.Array<kotlin.String>) internal fun foo(): kotlin.Unit
|
test.Anno(t = {"live", "long"}: kotlin.Array<out kotlin.String>) internal fun foo(): kotlin.Unit
|
||||||
|
|
||||||
internal final annotation class Anno : kotlin.Annotation {
|
internal final annotation class Anno : kotlin.Annotation {
|
||||||
/*primary*/ public constructor Anno(/*0*/ vararg t: kotlin.String /*kotlin.Array<kotlin.String>*/)
|
/*primary*/ public constructor Anno(/*0*/ vararg t: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||||
internal final val t: kotlin.Array<kotlin.String>
|
internal final val t: kotlin.Array<out kotlin.String>
|
||||||
internal final fun <get-t>(): kotlin.Array<kotlin.String>
|
internal final fun <get-t>(): kotlin.Array<out kotlin.String>
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -2,5 +2,5 @@ package test
|
|||||||
|
|
||||||
public open class MethodWithVararg {
|
public open class MethodWithVararg {
|
||||||
/*primary*/ public constructor MethodWithVararg()
|
/*primary*/ public constructor MethodWithVararg()
|
||||||
public open fun foo(/*0*/ vararg s: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
|
public open fun foo(/*0*/ vararg s: kotlin.String /*kotlin.Array<out kotlin.String>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -2,5 +2,5 @@ package test
|
|||||||
|
|
||||||
public open class VarargReplacedWithNotVararg {
|
public open class VarargReplacedWithNotVararg {
|
||||||
/*primary*/ public constructor VarargReplacedWithNotVararg()
|
/*primary*/ public constructor VarargReplacedWithNotVararg()
|
||||||
public open fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<kotlin.String?>*/): kotlin.Unit
|
public open fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<out kotlin.String?>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -4,11 +4,11 @@ public trait InheritVararg {
|
|||||||
|
|
||||||
public trait Sub : test.InheritVararg.Super {
|
public trait Sub : test.InheritVararg.Super {
|
||||||
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
|
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
|
||||||
public abstract override /*1*/ fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<kotlin.String?>*/): kotlin.Unit
|
public abstract override /*1*/ fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<out kotlin.String?>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
|
|
||||||
public trait Super {
|
public trait Super {
|
||||||
public abstract fun dummy(): kotlin.Unit
|
public abstract fun dummy(): kotlin.Unit
|
||||||
public abstract fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<kotlin.String?>*/): kotlin.Unit
|
public abstract fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<out kotlin.String?>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -4,11 +4,11 @@ public trait InheritVarargInteger {
|
|||||||
|
|
||||||
public trait Sub : test.InheritVarargInteger.Super {
|
public trait Sub : test.InheritVarargInteger.Super {
|
||||||
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
|
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
|
||||||
public abstract override /*1*/ fun foo(/*0*/ vararg p0: kotlin.Int? /*kotlin.Array<kotlin.Int?>*/): kotlin.Unit
|
public abstract override /*1*/ fun foo(/*0*/ vararg p0: kotlin.Int? /*kotlin.Array<out kotlin.Int?>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
|
|
||||||
public trait Super {
|
public trait Super {
|
||||||
public abstract fun dummy(): kotlin.Unit
|
public abstract fun dummy(): kotlin.Unit
|
||||||
public abstract fun foo(/*0*/ vararg p0: kotlin.Int? /*kotlin.Array<kotlin.Int?>*/): kotlin.Unit
|
public abstract fun foo(/*0*/ vararg p0: kotlin.Int? /*kotlin.Array<out kotlin.Int?>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -4,11 +4,11 @@ public trait InheritVarargNotNull {
|
|||||||
|
|
||||||
public trait Sub : test.InheritVarargNotNull.Super {
|
public trait Sub : test.InheritVarargNotNull.Super {
|
||||||
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
|
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
|
||||||
public abstract override /*1*/ fun foo(/*0*/ vararg p: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
|
public abstract override /*1*/ fun foo(/*0*/ vararg p: kotlin.String /*kotlin.Array<out kotlin.String>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
|
|
||||||
public trait Super {
|
public trait Super {
|
||||||
public abstract fun dummy(): kotlin.Unit
|
public abstract fun dummy(): kotlin.Unit
|
||||||
public abstract fun foo(/*0*/ vararg p: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
|
public abstract fun foo(/*0*/ vararg p: kotlin.String /*kotlin.Array<out kotlin.String>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
internal fun </*0*/ P> funParamVarargParam(/*0*/ a: kotlin.Int, /*1*/ vararg b: P /*kotlin.Array<P>*/): kotlin.Int
|
internal fun </*0*/ P> funParamVarargParam(/*0*/ a: kotlin.Int, /*1*/ vararg b: P /*kotlin.Array<out P>*/): kotlin.Int
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
internal fun varargCharSequence(/*0*/ a: kotlin.Int, /*1*/ vararg b: java.lang.Integer /*kotlin.Array<java.lang.Integer>*/): kotlin.Int
|
internal fun varargCharSequence(/*0*/ a: kotlin.Int, /*1*/ vararg b: java.lang.Integer /*kotlin.Array<out java.lang.Integer>*/): kotlin.Int
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ package test
|
|||||||
|
|
||||||
public open class VarargString {
|
public open class VarargString {
|
||||||
/*primary*/ public constructor VarargString()
|
/*primary*/ public constructor VarargString()
|
||||||
public open fun vararg(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<kotlin.String?>*/): kotlin.Unit
|
public open fun vararg(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<out kotlin.String?>*/): kotlin.Unit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
internal fun f(/*0*/ vararg t: kotlin.String /*kotlin.Array<kotlin.String>*/, /*1*/ f: () -> kotlin.Unit): kotlin.Unit
|
internal fun f(/*0*/ vararg t: kotlin.String /*kotlin.Array<out kotlin.String>*/, /*1*/ f: () -> kotlin.Unit): kotlin.Unit
|
||||||
internal fun f(/*0*/ vararg t: kotlin.Int /*kotlin.IntArray*/, /*1*/ f: () -> kotlin.Unit): kotlin.Unit
|
internal fun f(/*0*/ vararg t: kotlin.Int /*kotlin.IntArray*/, /*1*/ f: () -> kotlin.Unit): kotlin.Unit
|
||||||
|
|||||||
+1
-1
@@ -13,6 +13,6 @@ public trait Super1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public trait Super2 {
|
public trait Super2 {
|
||||||
public abstract fun bar(/*0*/ vararg p: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
|
public abstract fun bar(/*0*/ vararg p: kotlin.String /*kotlin.Array<out kotlin.String>*/): kotlin.Unit
|
||||||
public abstract fun foo(/*0*/ p: kotlin.String): kotlin.Unit
|
public abstract fun foo(/*0*/ p: kotlin.String): kotlin.Unit
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -63,7 +63,7 @@ public class AnnotationDescriptorResolveTest extends AbstractAnnotationDescripto
|
|||||||
|
|
||||||
public void testStringArrayVarargAnnotation() throws IOException {
|
public void testStringArrayVarargAnnotation() throws IOException {
|
||||||
String content = getContent("AnnStringVararg(\"a\", \"b\")");
|
String content = getContent("AnnStringVararg(\"a\", \"b\")");
|
||||||
String expectedAnnotation = "AnnStringVararg(a = {\"a\", \"b\"}: Array<String>)";
|
String expectedAnnotation = "AnnStringVararg(a = {\"a\", \"b\"}: Array<out String>)";
|
||||||
doTest(content, expectedAnnotation);
|
doTest(content, expectedAnnotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
class Array
|
class Array
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
bar<kotlin.Array<String>, Int, kotlin.Array<String>>(foo(""), 0, foo(""))
|
bar<kotlin.Array<out String>, Int, kotlin.Array<out String>>(foo(""), 0, foo(""))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo(vararg x: String) = x
|
fun foo(vararg x: String) = x
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
class Array
|
class Array
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
bar<kotlin.Array<String>>(foo(""))
|
bar<kotlin.Array<out String>>(foo(""))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo(vararg x: String) = x
|
fun foo(vararg x: String) = x
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// "???" "false"
|
// "???" "false"
|
||||||
//ERROR: <html>Type mismatch.<table><tr><td>Required:</td><td>kotlin.Array<kotlin.String></td></tr><tr><td>Found:</td><td>kotlin.Array<kotlin.Int></td></tr></table></html>
|
//ERROR: <html>Type mismatch.<table><tr><td>Required:</td><td>kotlin.Array<out kotlin.String></td></tr><tr><td>Found:</td><td>kotlin.Array<out kotlin.Int></td></tr></table></html>
|
||||||
|
|
||||||
//this test checks that there is no ArrayIndexOutOfBoundsException when there are more arguments than parameters
|
//this test checks that there is no ArrayIndexOutOfBoundsException when there are more arguments than parameters
|
||||||
fun <T> array1(vararg a : T) = a
|
fun <T> array1(vararg a : T) = a
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ class CanvasState(val canvas: HTMLCanvasElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class RadialGradientGenerator(val context: CanvasContext) {
|
class RadialGradientGenerator(val context: CanvasContext) {
|
||||||
val gradients = ArrayList<Array<Pair<Double, String>>>()
|
val gradients = ArrayList<Array<out Pair<Double, String>>>()
|
||||||
var current = 0
|
var current = 0
|
||||||
|
|
||||||
fun newColorStops(vararg colorStops: Pair<Double, String>) {
|
fun newColorStops(vararg colorStops: Pair<Double, String>) {
|
||||||
@@ -304,7 +304,7 @@ class RadialGradientGenerator(val context: CanvasContext) {
|
|||||||
newColorStops(Pair(0.0, "rgb(250,147,250)"), Pair(0.5, "rgb(255,80,255)"), Pair(1.0, "rgb(250,0,217)"))
|
newColorStops(Pair(0.0, "rgb(250,147,250)"), Pair(0.5, "rgb(255,80,255)"), Pair(1.0, "rgb(250,0,217)"))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getNext(): Array<Pair<Double, String>> {
|
fun getNext(): Array<out Pair<Double, String>> {
|
||||||
val result = gradients.get(current)
|
val result = gradients.get(current)
|
||||||
current = (current + 1) % gradients.size()
|
current = (current + 1) % gradients.size()
|
||||||
return result
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user