Support reading from class files of the type use annotations on type parameters and type arguments
^KT-11454 Fixed
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
// JAVAC_EXPECTED_FILE
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
public class Basic {
|
||||
@Target(ElementType.TYPE_PARAMETER)
|
||||
public @interface A {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
public interface G<@A T> {
|
||||
<@A("abc") R> void foo(R r);
|
||||
}
|
||||
|
||||
public interface G1<T, E extends T, @A X> {
|
||||
<R, @A("abc") _A extends R> void foo(R r);
|
||||
}
|
||||
|
||||
<R, @A("abc") _A extends R, @A("abc") K> void foo(R r) {
|
||||
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package test
|
||||
|
||||
public open class Basic {
|
||||
public constructor Basic()
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE_PARAMETER}) public final annotation class A : kotlin.Annotation {
|
||||
public constructor A(/*0*/ value: kotlin.String = ...)
|
||||
public final val value: kotlin.String
|
||||
}
|
||||
|
||||
public interface G</*0*/ @test.Basic.A T : kotlin.Any!> {
|
||||
public abstract fun </*0*/ @test.Basic.A(value = "abc") R : kotlin.Any!> foo(/*0*/ r: R!): kotlin.Unit
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package test
|
||||
|
||||
public open class Basic {
|
||||
public constructor Basic()
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE_PARAMETER}) @kotlin.annotation.Retention(value = ...) public final annotation class A : kotlin.Annotation {
|
||||
public final val value: kotlin.String
|
||||
public final fun <get-value>(): kotlin.String
|
||||
}
|
||||
|
||||
public interface G</*0*/ @test.Basic.A(value = "") T : kotlin.Any!> {
|
||||
public abstract fun </*0*/ @test.Basic.A(value = "abc") R : kotlin.Any!> foo(/*0*/ R!): kotlin.Unit
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package test
|
||||
|
||||
public open class Basic {
|
||||
public constructor Basic()
|
||||
public/*package*/ open fun </*0*/ R : kotlin.Any!, /*1*/ @test.Basic.A(value = "abc") _A : R!, /*2*/ @test.Basic.A(value = "abc") K : kotlin.Any!> foo(/*0*/ r: R!): kotlin.Unit
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE_PARAMETER}) public final annotation class A : kotlin.Annotation {
|
||||
public constructor A(/*0*/ value: kotlin.String = ...)
|
||||
public final val value: kotlin.String
|
||||
}
|
||||
|
||||
public interface G</*0*/ @test.Basic.A T : kotlin.Any!> {
|
||||
public abstract fun </*0*/ @test.Basic.A(value = "abc") R : kotlin.Any!> foo(/*0*/ r: R!): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface G1</*0*/ T : kotlin.Any!, /*1*/ E : T!, /*2*/ @test.Basic.A X : kotlin.Any!> {
|
||||
public abstract fun </*0*/ R : kotlin.Any!, /*1*/ @test.Basic.A(value = "abc") _A : R!> foo(/*0*/ r: R!): kotlin.Unit
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Target(ElementType.TYPE_USE)
|
||||
@interface A {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
interface I1<T> {}
|
||||
interface I2<T, K> {}
|
||||
interface I3<T, K, L> {}
|
||||
|
||||
class A2<T, K> {}
|
||||
class A3<T, K, L> {}
|
||||
|
||||
public class BaseClassTypeArguments<B> extends A3<@A B [][][][][], I1<I1<@A int @A [][]>>, A2<B, int [] [] @A []>> implements I1<@A Integer @A [][][]>, I2<@A B, B>, I3<@A B [][][][][], B, @A B> {
|
||||
class ImplementedInterfacesTypeArguments<B> implements I1<I2<I1<@A Integer @A [][][]>, I1<@A int [] @A []>>>, I2<@A B, B>, I3<@A B [][][][][], I1<I1<@A int @A [][]>>, I2<B, int [] [] @A []>> {
|
||||
public class BaseClassTypeArguments1<B> extends A3<@A B [][][][][], I1<I1<@A int @A [][]>>, A2<B, int [] [] @A []>> {
|
||||
|
||||
}
|
||||
}
|
||||
static class BaseClassTypeArguments2<B> extends A3<@A B [][][][][], I1<I1<@A int @A [][]>>, A2<B, int [] [] @A []>> {
|
||||
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package test
|
||||
|
||||
public open class BaseClassTypeArguments</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A B!>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>!, test.A2<B!, (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!>, test.I1<kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>, test.I2<@test.A B!, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A B!>!>!>!>!>!, B!, @test.A B!> {
|
||||
public constructor BaseClassTypeArguments</*0*/ B : kotlin.Any!>()
|
||||
|
||||
public/*package*/ open class BaseClassTypeArguments2</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A B!>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>!, test.A2<B!, (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!> {
|
||||
public/*package*/ constructor BaseClassTypeArguments2</*0*/ B : kotlin.Any!>()
|
||||
}
|
||||
|
||||
public/*package*/ open inner class ImplementedInterfacesTypeArguments</*0*/ B : kotlin.Any!> /*captured type parameters: /*1*/ B : kotlin.Any!*/ : test.I1<test.I2<test.I1<kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>!, test.I1<(@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!>!>, test.I2<@test.A B!, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A B!>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>!, test.I2<B!, (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!> {
|
||||
public/*package*/ constructor ImplementedInterfacesTypeArguments</*0*/ B : kotlin.Any!>()
|
||||
|
||||
public open inner class BaseClassTypeArguments1</*0*/ B : kotlin.Any!> /*captured type parameters: /*1*/ B : kotlin.Any!, /*2*/ B : kotlin.Any!*/ : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A B!>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>!, test.A2<B!, (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!> {
|
||||
public constructor BaseClassTypeArguments1</*0*/ B : kotlin.Any!>()
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
public class TypeAnnotations {
|
||||
public class Basic {
|
||||
@Target(ElementType.TYPE_USE)
|
||||
@interface A {
|
||||
String value() default "";
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
package test
|
||||
|
||||
public open class TypeAnnotations {
|
||||
public constructor TypeAnnotations()
|
||||
public open class Basic {
|
||||
public constructor Basic()
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public/*package*/ final annotation class A : kotlin.Annotation {
|
||||
public/*package*/ constructor A(/*0*/ value: kotlin.String = ...)
|
||||
@@ -15,7 +15,7 @@ public open class TypeAnnotations {
|
||||
}
|
||||
|
||||
public interface MyClass</*0*/ TT : kotlin.Any!> {
|
||||
public abstract fun f(/*0*/ p: test.TypeAnnotations.G2<@test.TypeAnnotations.A kotlin.String!, @test.TypeAnnotations.A(value = "abc") kotlin.Int!>!): kotlin.Unit
|
||||
public abstract fun f(/*0*/ p: test.TypeAnnotations.G<@test.TypeAnnotations.A kotlin.String!>!): kotlin.Unit
|
||||
public abstract fun f(/*0*/ p: test.Basic.G2<@test.Basic.A kotlin.String!, @test.Basic.A(value = "abc") kotlin.Int!>!): kotlin.Unit
|
||||
public abstract fun f(/*0*/ p: test.Basic.G<@test.Basic.A kotlin.String!>!): kotlin.Unit
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
// JAVAC_EXPECTED_FILE
|
||||
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Target(ElementType.TYPE_USE)
|
||||
@interface A {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
public class ClassTypeParameterBounds {
|
||||
interface I1 {}
|
||||
interface I2<T> {}
|
||||
interface I3<T> {}
|
||||
interface I4<T> {}
|
||||
|
||||
interface G1<T extends @A Object> { }
|
||||
class G2<_A, B extends @A Integer> { }
|
||||
interface G3<_A, B extends Object & @A I1> { }
|
||||
class G4<_A extends @A B, B> { }
|
||||
interface G5<_A, B extends @A _A> { }
|
||||
class G6<_A extends @A I1, B, C, D extends @A E, E, F> { }
|
||||
interface G7<_A extends Object & I2<@A Integer> & @A I3<String>> { }
|
||||
interface G8<_A extends Object & I2<? super @A Integer> & @A I3<? extends String>> { }
|
||||
|
||||
interface G9<_A extends I4<Integer @A []> & I2<? extends @A Integer @A []> & @A I3<? extends Integer @A []>> { }
|
||||
interface G10<_A extends I4<int @A []> & I2<? extends @A int @A []> & @A I3<? extends int @A []>> { }
|
||||
interface G11<_A extends I4<Integer [] [] @A []> & I2<? extends @A Integer @A [] [] [] []> & @A I3<? extends Integer [] @A []>> { }
|
||||
interface G12<_A extends I4<int @A [][]> & I2<? extends @A int [] [] @A []> & @A I3<? extends int []@A [] []>> { }
|
||||
|
||||
// class G13<_A extends Object, B extends I3<@A _A> & @A I2<_A>> { }
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
package test
|
||||
|
||||
public open class ClassTypeParameterBounds {
|
||||
public constructor ClassTypeParameterBounds()
|
||||
|
||||
public/*package*/ interface G1</*0*/ T : @test.A kotlin.Any!> {
|
||||
}
|
||||
|
||||
public/*package*/ interface G10</*0*/ _A : test.ClassTypeParameterBounds.I4<@test.A kotlin.IntArray!>!> where _A : test.ClassTypeParameterBounds.I2<out @test.A kotlin.IntArray!>!, _A : @test.A test.ClassTypeParameterBounds.I3<out @test.A kotlin.IntArray!>! {
|
||||
}
|
||||
|
||||
public/*package*/ interface G11</*0*/ _A : test.ClassTypeParameterBounds.I4<(@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Int!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Int!>!>!>?)>!> where _A : test.ClassTypeParameterBounds.I2<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>!>!, _A : @test.A test.ClassTypeParameterBounds.I3<out (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>?)>! {
|
||||
}
|
||||
|
||||
public/*package*/ interface G12</*0*/ _A : test.ClassTypeParameterBounds.I4<kotlin.Array<(out) @test.A kotlin.IntArray!>!>!> where _A : test.ClassTypeParameterBounds.I2<out (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!, _A : @test.A test.ClassTypeParameterBounds.I3<out kotlin.Array<(out) (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!>! {
|
||||
}
|
||||
|
||||
public/*package*/ open inner class G2</*0*/ _A : kotlin.Any!, /*1*/ B : @test.A kotlin.Int!> {
|
||||
public/*package*/ constructor G2</*0*/ _A : kotlin.Any!, /*1*/ B : @test.A kotlin.Int!>()
|
||||
}
|
||||
|
||||
public/*package*/ interface G3</*0*/ _A : kotlin.Any!, /*1*/ B : kotlin.Any!> where B : @test.A test.ClassTypeParameterBounds.I1! {
|
||||
}
|
||||
|
||||
public/*package*/ open inner class G4</*0*/ _A : @test.A B!, /*1*/ B : kotlin.Any!> {
|
||||
public/*package*/ constructor G4</*0*/ _A : @test.A B!, /*1*/ B : kotlin.Any!>()
|
||||
}
|
||||
|
||||
public/*package*/ interface G5</*0*/ _A : kotlin.Any!, /*1*/ B : @test.A _A!> {
|
||||
}
|
||||
|
||||
public/*package*/ open inner class G6</*0*/ _A : @test.A test.ClassTypeParameterBounds.I1!, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @test.A E!, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!> {
|
||||
public/*package*/ constructor G6</*0*/ _A : @test.A test.ClassTypeParameterBounds.I1!, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @test.A E!, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!>()
|
||||
}
|
||||
|
||||
public/*package*/ interface G7</*0*/ _A : kotlin.Any!> where _A : test.ClassTypeParameterBounds.I2<@test.A kotlin.Int!>!, _A : @test.A test.ClassTypeParameterBounds.I3<kotlin.String!>! {
|
||||
}
|
||||
|
||||
public/*package*/ interface G8</*0*/ _A : kotlin.Any!> where _A : test.ClassTypeParameterBounds.I2<in @test.A kotlin.Int!>!, _A : @test.A test.ClassTypeParameterBounds.I3<out kotlin.String!>! {
|
||||
}
|
||||
|
||||
public/*package*/ interface G9</*0*/ _A : test.ClassTypeParameterBounds.I4<(@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!> where _A : test.ClassTypeParameterBounds.I2<out (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, _A : @test.A test.ClassTypeParameterBounds.I3<out (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>! {
|
||||
}
|
||||
|
||||
public/*package*/ interface I1 {
|
||||
}
|
||||
|
||||
public/*package*/ interface I2</*0*/ T : kotlin.Any!> {
|
||||
}
|
||||
|
||||
public/*package*/ interface I3</*0*/ T : kotlin.Any!> {
|
||||
}
|
||||
|
||||
public/*package*/ interface I4</*0*/ T : kotlin.Any!> {
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
// JAVAC_EXPECTED_FILE
|
||||
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Target(ElementType.TYPE_USE)
|
||||
@interface A {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
/*
|
||||
* Note that a receiver type doesn't get into signatures used by the Kotlin compiler
|
||||
* So in this test, annotated types shouldn't be reflected in the signatures dump
|
||||
*/
|
||||
|
||||
public class MethodReceiver<T> {
|
||||
public void f1(MethodReceiver<@A T> this) { }
|
||||
|
||||
class MethodReceiver3<T, K, L> {
|
||||
public void f1(@A MethodReceiver3<@A T, K, @A L> this) { }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
public open class MethodReceiver</*0*/ T : kotlin.Any!> {
|
||||
public constructor MethodReceiver</*0*/ T : kotlin.Any!>()
|
||||
public open fun f1(): kotlin.Unit
|
||||
|
||||
public/*package*/ open inner class MethodReceiver3</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!, /*2*/ L : kotlin.Any!> /*captured type parameters: /*3*/ T : kotlin.Any!*/ {
|
||||
public/*package*/ constructor MethodReceiver3</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!, /*2*/ L : kotlin.Any!>()
|
||||
public open fun f1(): kotlin.Unit
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
// JAVAC_EXPECTED_FILE
|
||||
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Target(ElementType.TYPE_USE)
|
||||
@interface A {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
abstract class MethodTypeParameterBounds {
|
||||
interface I1 {}
|
||||
interface I2<T> {}
|
||||
interface I3<T> {}
|
||||
interface I4<T> {}
|
||||
|
||||
<T extends @A Object> void f1(T x) { }
|
||||
<_A, B extends @A Integer> void f2(_A x, B y) { }
|
||||
<_A, B extends Object & @A I1> void f3(_A x, B y) { }
|
||||
<_A extends @A B, B> void f4(_A x, B y) { }
|
||||
<_A, B extends @A _A> void f5(_A x, B y) { }
|
||||
<_A extends @A I1> void f6() { }
|
||||
abstract <_A, B extends @A _A> void f7(_A x, B y);
|
||||
abstract <_A extends @A I1, B, C, D extends @A E, E, F> void f8(_A x1, B x2, C x3, D x4, E x5, F x6);
|
||||
<_A extends Object & I2<@A Integer> & @A I3<String>> void f9(_A x) { }
|
||||
<_A extends Object & I2<? super @A Integer> & @A I3<? extends String>> void f10(_A x) { }
|
||||
<_A extends I4<Integer @A []> & I2<? extends @A Integer @A []> & @A I3<? extends Integer @A []>> void f11(_A x) { }
|
||||
<_A extends I4<int @A []> & I2<? extends @A int @A []> & @A I3<? extends int @A []>> void f12(_A x) { }
|
||||
<_A extends I4<Integer [] [] @A []> & I2<? extends @A Integer @A [] [] [] []> & @A I3<? extends Integer [] @A []>> void f13(_A x) { }
|
||||
abstract <_A extends I4<int @A [][]> & I2<? extends @A int [] [] @A []> & @A I3<? extends int []@A [] []>> void f14(_A x);
|
||||
<_A extends Object, B extends I3<@A A> & @A I2<A>> void f15(_A x) { }
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package test
|
||||
|
||||
public/*package*/ abstract class MethodTypeParameterBounds {
|
||||
public/*package*/ constructor MethodTypeParameterBounds()
|
||||
public/*package*/ open fun </*0*/ T : @test.A kotlin.Any!> f1(/*0*/ x: T!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!> f10(/*0*/ x: _A!): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<in @test.A kotlin.Int!>!, _A : @test.A test.MethodTypeParameterBounds.I3<out kotlin.String!>!
|
||||
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!> f11(/*0*/ x: _A!): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, _A : @test.A test.MethodTypeParameterBounds.I3<out (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!
|
||||
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<@test.A kotlin.IntArray!>!> f12(/*0*/ x: _A!): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out @test.A kotlin.IntArray!>!, _A : @test.A test.MethodTypeParameterBounds.I3<out @test.A kotlin.IntArray!>!
|
||||
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Int!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Int!>!>!>?)>!> f13(/*0*/ x: _A!): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>!>!, _A : @test.A test.MethodTypeParameterBounds.I3<out (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>?)>!
|
||||
public/*package*/ abstract fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.Array<(out) @test.A kotlin.IntArray!>!>!> f14(/*0*/ x: _A!): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!, _A : @test.A test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!>!
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : test.MethodTypeParameterBounds.I3<@test.A test.A!>!> f15(/*0*/ x: _A!): kotlin.Unit where B : @test.A test.MethodTypeParameterBounds.I2<test.A!>!
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @test.A kotlin.Int!> f2(/*0*/ x: _A!, /*1*/ y: B!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : kotlin.Any!> f3(/*0*/ x: _A!, /*1*/ y: B!): kotlin.Unit where B : @test.A test.MethodTypeParameterBounds.I1!
|
||||
public/*package*/ open fun </*0*/ _A : @test.A B!, /*1*/ B : kotlin.Any!> f4(/*0*/ x: _A!, /*1*/ y: B!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @test.A _A!> f5(/*0*/ x: _A!, /*1*/ y: B!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : @test.A test.MethodTypeParameterBounds.I1!> f6(): kotlin.Unit
|
||||
public/*package*/ abstract fun </*0*/ _A : kotlin.Any!, /*1*/ B : @test.A _A!> f7(/*0*/ x: _A!, /*1*/ y: B!): kotlin.Unit
|
||||
public/*package*/ abstract fun </*0*/ _A : @test.A test.MethodTypeParameterBounds.I1!, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @test.A E!, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!> f8(/*0*/ x1: _A!, /*1*/ x2: B!, /*2*/ x3: C!, /*3*/ x4: D!, /*4*/ x5: E!, /*5*/ x6: F!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!> f9(/*0*/ x: _A!): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<@test.A kotlin.Int!>!, _A : @test.A test.MethodTypeParameterBounds.I3<kotlin.String!>!
|
||||
|
||||
public/*package*/ interface I1 {
|
||||
}
|
||||
|
||||
public/*package*/ interface I2</*0*/ T : kotlin.Any!> {
|
||||
}
|
||||
|
||||
public/*package*/ interface I3</*0*/ T : kotlin.Any!> {
|
||||
}
|
||||
|
||||
public/*package*/ interface I4</*0*/ T : kotlin.Any!> {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Target(ElementType.TYPE_USE)
|
||||
@interface A {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
interface G0 { }
|
||||
interface G1<T> { }
|
||||
interface G2<A, B> { }
|
||||
|
||||
interface ReturnType {
|
||||
// simplpe type arguments
|
||||
G1<@A G0> f0();
|
||||
G1<G1<G1<G1<@A G0>>>> f1();
|
||||
G1<@A String> f2();
|
||||
G2<@A String, G2<@A("abc") Integer, G2<@A("abc") G2<Integer, @A Integer>, @A("abc") Integer>>> f3();
|
||||
|
||||
// wildcards
|
||||
G1<? extends @A G0> f4 = null;
|
||||
G1<G1<G1<G1<? extends @A G0>>>> f5();
|
||||
G1<? extends @A String> f6();
|
||||
G2<? extends @A String, G2<? extends @A("abc") Integer, G2<? extends @A("abc") G2<Integer, ? extends @A Integer>, ? extends @A("abc") Integer>>> f7();
|
||||
|
||||
G1<? super @A G0> f8();
|
||||
G1<G1<G1<G1<? super @A G0>>>> f9();
|
||||
G1<? super @A String> f10 = null;
|
||||
G2<? super @A String, G2<? super @A("abc") Integer, G2<? super @A("abc") G2<Integer, ? super @A Integer>, ? super @A("abc") Integer>>> f11();
|
||||
|
||||
G2<? super @A String, G2<? extends @A("abc") Integer, G2<? extends @A("abc") G2<Integer, ? super @A Integer>, ? extends @A("abc") Integer>>> f12 = null;
|
||||
|
||||
// arrays
|
||||
Integer @A [] f13();
|
||||
int @A [] f14();
|
||||
@A Integer [] f15();
|
||||
@A int [] f16();
|
||||
@A Integer @A [] f17();
|
||||
@A int @A [] f18 = null;
|
||||
|
||||
// multidementional arrays
|
||||
Integer @A [] [] f19();
|
||||
int @A [] @A [] f20();
|
||||
@A Integer [] [] [] f21 = null;
|
||||
@A int @A [] @A [] [] @A [] f22();
|
||||
@A Integer @A [] [] @A [] [] f23();
|
||||
@A int @A [] @A [] f24 = null;
|
||||
int [] @A [] f25();
|
||||
Object [] @A [] f26();
|
||||
@A Object [] [] [] [] @A [] f27();
|
||||
|
||||
// arrays in type arguments
|
||||
G1<Integer @A []> f28();
|
||||
G2<Integer, int @A []> f29();
|
||||
G1<@A Integer []> f30();
|
||||
G1<G1<@A int []>> f31();
|
||||
G1<G2<G1<@A Integer @A []>, G1<@A int @A []>>> f32();
|
||||
G1<@A int @A []> f33();
|
||||
G1<Integer [] @A []> f34();
|
||||
G2<Integer, int @A [][]> f35 = null;
|
||||
G1<@A Integer @A [] []> f36();
|
||||
G1<G1<@A int [][][]>> f37();
|
||||
G1<G2<G1<@A Integer @A []>, G1<@A int [] [] @A []>>> f38();
|
||||
G1<@A int @A [] @A [] []> f39();
|
||||
|
||||
// arrays in wildcard bounds
|
||||
G1<? extends Integer @A []> f40();
|
||||
G2<? extends Integer, ? super int @A []> f41();
|
||||
G1<? super @A Integer []> f42();
|
||||
G1<? super G1<? super @A int []>> f43();
|
||||
G1<? extends G2<G1<? super @A Integer @A []>, G1<? extends @A int @A []>>> f44();
|
||||
G1<? extends G2<? super G1<@A Integer @A []>, G1<? extends @A int @A []>>> f45 = null;
|
||||
G1<? super @A int @A []> f46();
|
||||
G1<? extends Integer [] @A []> f47();
|
||||
G2<? extends Integer, ? super int [] [] @A []> f48 = null;
|
||||
G1<? super @A Integer [][][][][]> f49();
|
||||
G1<? super G1<? super @A int @A [][]>> f50();
|
||||
G1<? extends G2<G1<? super @A Integer [] [] @A []>, G1<? extends @A int @A [] @A [] @A []>>> f51();
|
||||
G1<? extends G2<? super G1<@A Integer @A [][][]>, G1<? extends @A int [] @A []>>> f52 = null;
|
||||
G1<? super @A int @A [][]> f53();
|
||||
|
||||
class ReturnType2 {
|
||||
G1<? extends @A G0> f4 = null;
|
||||
G1<? super @A String> f10 = null;
|
||||
G2<? super @A String, G2<? extends @A("abc") Integer, G2<? extends @A("abc") G2<Integer, ? super @A Integer>, ? extends @A("abc") Integer>>> f12 = null;
|
||||
@A int @A [] f18 = null;
|
||||
@A Integer [] [] [] f21 = null;
|
||||
@A int @A [] @A [] f24 = null;
|
||||
G2<Integer, int @A [][]> f35 = null;
|
||||
G1<? extends G2<? super G1<@A Integer @A []>, G1<? extends @A int @A []>>> f45 = null;
|
||||
G2<? extends Integer, ? super int [] [] @A []> f48 = null;
|
||||
G1<? extends G2<? super G1<@A Integer @A [][][]>, G1<? extends @A int [] @A []>>> f52 = null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package test
|
||||
|
||||
public/*package*/ interface ReturnType {
|
||||
public abstract fun f0(): test.G1<@test.A test.G0!>!
|
||||
public abstract fun f1(): test.G1<test.G1<test.G1<test.G1<@test.A test.G0!>!>!>!>!
|
||||
public abstract fun f11(): test.G2<in @test.A kotlin.String!, test.G2<in @test.A(value = "abc") kotlin.Int!, test.G2<in @test.A(value = "abc") test.G2<kotlin.Int!, in @test.A kotlin.Int!>!, in @test.A(value = "abc") kotlin.Int!>!>!>!
|
||||
public abstract fun f13(): (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)
|
||||
public abstract fun f14(): @test.A kotlin.IntArray!
|
||||
@test.A public abstract fun f15(): kotlin.Array<(out) @test.A kotlin.Int!>!
|
||||
@test.A public abstract fun f16(): kotlin.IntArray!
|
||||
@test.A public abstract fun f17(): (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)
|
||||
public abstract fun f19(): kotlin.Array<(out) (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!
|
||||
public abstract fun f2(): test.G1<@test.A kotlin.String!>!
|
||||
public abstract fun f20(): (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)
|
||||
@test.A public abstract fun f22(): (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>?)
|
||||
@test.A public abstract fun f23(): kotlin.Array<(out) (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>?)>!
|
||||
public abstract fun f25(): (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)
|
||||
public abstract fun f26(): (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Any!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Any!>!>?)
|
||||
@test.A public abstract fun f27(): (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Any!>!>!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Any!>!>!>!>!>?)
|
||||
public abstract fun f28(): test.G1<(@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!
|
||||
public abstract fun f29(): test.G2<kotlin.Int!, @test.A kotlin.IntArray!>!
|
||||
public abstract fun f3(): test.G2<@test.A kotlin.String!, test.G2<@test.A(value = "abc") kotlin.Int!, test.G2<@test.A(value = "abc") test.G2<kotlin.Int!, @test.A kotlin.Int!>!, @test.A(value = "abc") kotlin.Int!>!>!>!
|
||||
public abstract fun f30(): test.G1<kotlin.Array<(out) @test.A kotlin.Int!>!>!
|
||||
public abstract fun f31(): test.G1<test.G1<kotlin.IntArray!>!>!
|
||||
public abstract fun f32(): test.G1<test.G2<test.G1<(@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<@test.A kotlin.IntArray!>!>!>!
|
||||
public abstract fun f33(): test.G1<@test.A kotlin.IntArray!>!
|
||||
public abstract fun f34(): test.G1<(@test.A kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>?)>!
|
||||
public abstract fun f36(): test.G1<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!
|
||||
public abstract fun f37(): test.G1<test.G1<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!>!
|
||||
public abstract fun f38(): test.G1<test.G2<test.G1<(@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<(@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!>!>!
|
||||
public abstract fun f39(): test.G1<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>!
|
||||
public abstract fun f40(): test.G1<out (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!
|
||||
public abstract fun f41(): test.G2<out kotlin.Int!, in @test.A kotlin.IntArray!>!
|
||||
public abstract fun f42(): test.G1<in kotlin.Array<(out) @test.A kotlin.Int!>!>!
|
||||
public abstract fun f43(): test.G1<in test.G1<in kotlin.IntArray!>!>!
|
||||
public abstract fun f44(): test.G1<out test.G2<test.G1<in (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<out @test.A kotlin.IntArray!>!>!>!
|
||||
public abstract fun f46(): test.G1<in @test.A kotlin.IntArray!>!
|
||||
public abstract fun f47(): test.G1<out (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>?)>!
|
||||
public abstract fun f49(): test.G1<in kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>!>!>!>!
|
||||
public abstract fun f5(): test.G1<test.G1<test.G1<test.G1<out @test.A test.G0!>!>!>!>!
|
||||
public abstract fun f50(): test.G1<in test.G1<in kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>!
|
||||
public abstract fun f51(): test.G1<out test.G2<test.G1<in (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>?)>!, test.G1<out (@test.A kotlin.Array<(@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>..@test.A kotlin.Array<out (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>?)>!>!>!
|
||||
public abstract fun f53(): test.G1<in kotlin.Array<(out) @test.A kotlin.IntArray!>!>!
|
||||
public abstract fun f6(): test.G1<out @test.A kotlin.String!>!
|
||||
public abstract fun f7(): test.G2<out @test.A kotlin.String!, test.G2<out @test.A(value = "abc") kotlin.Int!, test.G2<out @test.A(value = "abc") test.G2<kotlin.Int!, out @test.A kotlin.Int!>!, out @test.A(value = "abc") kotlin.Int!>!>!>!
|
||||
public abstract fun f8(): test.G1<in @test.A test.G0!>!
|
||||
public abstract fun f9(): test.G1<test.G1<test.G1<test.G1<in @test.A test.G0!>!>!>!>!
|
||||
|
||||
public open class ReturnType2 {
|
||||
public constructor ReturnType2()
|
||||
public/*package*/ final var f10: test.G1<in @test.A kotlin.String!>!
|
||||
public/*package*/ final var f12: test.G2<in @test.A kotlin.String!, test.G2<out @test.A(value = "abc") kotlin.Int!, test.G2<out @test.A(value = "abc") test.G2<kotlin.Int!, in @test.A kotlin.Int!>!, out @test.A(value = "abc") kotlin.Int!>!>!>!
|
||||
@test.A public/*package*/ final var f18: @test.A kotlin.IntArray!
|
||||
@test.A public/*package*/ final var f21: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>!
|
||||
@test.A public/*package*/ final var f24: (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)
|
||||
public/*package*/ final var f35: test.G2<kotlin.Int!, kotlin.Array<(out) @test.A kotlin.IntArray!>!>!
|
||||
public/*package*/ final var f4: test.G1<out @test.A test.G0!>!
|
||||
public/*package*/ final var f45: test.G1<out test.G2<in test.G1<(@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<out @test.A kotlin.IntArray!>!>!>!
|
||||
public/*package*/ final var f48: test.G2<out kotlin.Int!, in (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!
|
||||
public/*package*/ final var f52: test.G1<out test.G2<in test.G1<kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>!, test.G1<out (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!>!>!
|
||||
}
|
||||
|
||||
// Static members
|
||||
public final val f10: test.G1<in @test.A kotlin.String!>!
|
||||
public final val f12: test.G2<in @test.A kotlin.String!, test.G2<out @test.A(value = "abc") kotlin.Int!, test.G2<out @test.A(value = "abc") test.G2<kotlin.Int!, in @test.A kotlin.Int!>!, out @test.A(value = "abc") kotlin.Int!>!>!>!
|
||||
@test.A public final val f18: @test.A kotlin.IntArray!
|
||||
@test.A public final val f21: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>!
|
||||
@test.A public final val f24: (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)
|
||||
public final val f35: test.G2<kotlin.Int!, kotlin.Array<(out) @test.A kotlin.IntArray!>!>!
|
||||
public final val f4: test.G1<out @test.A test.G0!>!
|
||||
public final val f45: test.G1<out test.G2<in test.G1<(@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<out @test.A kotlin.IntArray!>!>!>!
|
||||
public final val f48: test.G2<out kotlin.Int!, in (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!
|
||||
public final val f52: test.G1<out test.G2<in test.G1<kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>!, test.G1<out (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!>!>!
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
package test;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Target(ElementType.TYPE_USE)
|
||||
@interface A {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
interface G0 { }
|
||||
interface G1<T> { }
|
||||
interface G2<A, B> { }
|
||||
|
||||
interface ValueArguments {
|
||||
// simplpe type arguments
|
||||
void f0(G1<@A G0> p);
|
||||
void f1(G1<G1<G1<G1<@A G0>>>> p);
|
||||
void f2(G1<@A String> p);
|
||||
void f3(G2<@A String, G2<@A("abc") Integer, G2<@A("abc") G2<Integer, @A Integer>, @A("abc") Integer>>> p);
|
||||
|
||||
// wildcards
|
||||
void f4(G1<? extends @A G0> p);
|
||||
void f5(G1<G1<G1<G1<? extends @A G0>>>> p);
|
||||
void f6(G1<? extends @A String> p1, G1<G1<G1<G1<? extends @A G0>>>> p2);
|
||||
void f7(G2<? extends @A String, G2<? extends @A("abc") Integer, G2<? extends @A("abc") G2<Integer, ? extends @A Integer>, ? extends @A("abc") Integer>>> p);
|
||||
|
||||
void f8(G1<? super @A G0> p);
|
||||
void f9(G1<G1<G1<G1<? super @A G0>>>> p);
|
||||
void f10(G1<? super @A String> p);
|
||||
void f11(G2<? super @A String, G2<? super @A("abc") Integer, G2<? super @A("abc") G2<Integer, ? super @A Integer>, ? super @A("abc") Integer>>> p);
|
||||
|
||||
void f12(G2<? super @A String, G2<? extends @A("abc") Integer, G2<? extends @A("abc") G2<Integer, ? super @A Integer>, ? extends @A("abc") Integer>>> p);
|
||||
|
||||
// arrays
|
||||
void f13(Integer @A [] p);
|
||||
void f14(int @A [] p);
|
||||
void f15(@A Integer [] p);
|
||||
void f16(@A int [] p);
|
||||
void f17(@A Integer @A [] p);
|
||||
void f18(@A int @A [] p1, Integer @A [] p2, @A int [] p3);
|
||||
|
||||
// multidementional arrays
|
||||
void f19(Integer @A [] [] p);
|
||||
void f20(int @A [] @A [] p);
|
||||
void f21(@A Integer [] [] [] p);
|
||||
void f22(@A int @A [] @A [] [] @A [] p);
|
||||
void f23(@A Integer @A [] [] @A [] [] p);
|
||||
void f24(@A int @A [] @A [] p);
|
||||
void f25(int [] @A [] p);
|
||||
void f26(Object [] @A [] p1, int [] @A [] p2, @A int @A [] @A [] [] @A [] p3);
|
||||
void f27(@A Object [] [] [] [] @A [] p);
|
||||
|
||||
// arrays in type arguments
|
||||
void f28(G1<Integer @A []> p);
|
||||
void f29(G2<Integer, int @A []> p);
|
||||
void f30(G1<@A Integer []> p);
|
||||
void f31(G1<G1<@A int []>> p);
|
||||
void f32(G1<G2<G1<@A Integer @A []>, G1<@A int @A []>>> p);
|
||||
void f33(G1<@A int @A []> p);
|
||||
void f34(G1<Integer [] @A []> p);
|
||||
void f35(G2<Integer, int @A [][]> p1, G1<@A Integer @A [] []> p2, G1<G1<@A int []>> p3);
|
||||
void f36(G1<@A Integer @A [] []> p);
|
||||
void f37(G1<G1<@A int [][][]>> p);
|
||||
void f38(G1<G2<G1<@A Integer @A []>, G1<@A int [] [] @A []>>> p);
|
||||
void f39(G1<@A int @A [] @A [] []> p);
|
||||
|
||||
// arrays in wildcard bounds
|
||||
void f40(G1<? extends Integer @A []> p);
|
||||
void f41(G2<? extends Integer, ? super int @A []> p);
|
||||
void f42(G1<? super @A Integer []> p);
|
||||
void f43(G1<? super G1<? super @A int []>> p);
|
||||
void f44(G1<? extends G2<G1<? super @A Integer @A []>, G1<? extends @A int @A []>>> p);
|
||||
void f45(G1<? extends G2<? super G1<@A Integer @A []>, G1<? extends @A int @A []>>> p);
|
||||
void f46(G1<? super @A int @A []> p);
|
||||
void f47(G1<? extends Integer [] @A []> p);
|
||||
void f48(G2<? extends Integer, ? super int [] [] @A []> p);
|
||||
void f49(G1<? super @A Integer [][][][][]> p1, G1<? super G1<? super @A int @A [][]>> p2, G2<? extends Integer, ? super int [] [] @A []> p3);
|
||||
void f50(G1<? super G1<? super @A int @A [][]>> p);
|
||||
void f51(G1<? extends G2<G1<? super @A Integer [] [] @A []>, G1<? extends @A int @A [] @A [] @A []>>> p);
|
||||
void f52(G1<? extends G2<? super G1<@A Integer @A [][][]>, G1<? extends @A int [] @A []>>> p);
|
||||
void f53(G1<? super @A int @A [][]> p);
|
||||
|
||||
void f54(G1<? extends G2<? super G1<@A Integer @A [][][]>, G1<? extends @A int [] @A []>>> p1, G1<@A int @A [] @A [] []> p2, @A Object [] [] [] [] @A [] p3, @A int @A [] p4, G2<? super @A String, G2<? extends @A("abc") Integer, G2<? extends @A("abc") G2<Integer, ? super @A Integer>, ? extends @A("abc") Integer>>> p5);
|
||||
|
||||
// varargs
|
||||
void f55(@A String ... x);
|
||||
void f56(String @A ... x);
|
||||
void f57(@A String @A ... x);
|
||||
void f58(@A int ... x);
|
||||
void f59(int @A ... x);
|
||||
void f60(@A int @A ... x);
|
||||
|
||||
// varargs + arrays
|
||||
void f61(@A String [] ... x);
|
||||
void f62(String @A [] ... x);
|
||||
void f63(String [] @A ... x);
|
||||
void f64(@A String @A [] @A ... x);
|
||||
void f65(@A int [] ... x);
|
||||
void f66(int @A [] ... x);
|
||||
void f67(int [] @A ... x);
|
||||
void f68(@A int @A [] @A ... x);
|
||||
|
||||
void f69(@A String [] [] ... x);
|
||||
void f70(String [] @A [] ... x);
|
||||
void f71(String [] [] [] @A ... x);
|
||||
void f72(@A String @A [] [] @A [] @A ... x);
|
||||
void f73(@A int [] @A [] ... x);
|
||||
void f74(int @A [][][] @A [] ... x);
|
||||
void f75(int [] [] [] @A ... x);
|
||||
void f76(@A int @A [] [] @A ... x);
|
||||
|
||||
class Test {
|
||||
public Test(G2<? super @A String, G2<? extends @A("abc") Integer, G2<? extends @A("abc") G2<Integer, ? super @A Integer>, ? extends @A("abc") Integer>>> p1, Object [] @A [] p2, int [] @A [] p3, @A int @A [] @A [] [] @A [] p4, @A int @A [] [] @A ... p5) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package test
|
||||
|
||||
public/*package*/ interface ValueArguments {
|
||||
public abstract fun f0(/*0*/ p: test.G1<@test.A test.G0!>!): kotlin.Unit
|
||||
public abstract fun f1(/*0*/ p: test.G1<test.G1<test.G1<test.G1<@test.A test.G0!>!>!>!>!): kotlin.Unit
|
||||
public abstract fun f10(/*0*/ p: test.G1<in @test.A kotlin.String!>!): kotlin.Unit
|
||||
public abstract fun f11(/*0*/ p: test.G2<in @test.A kotlin.String!, test.G2<in @test.A(value = "abc") kotlin.Int!, test.G2<in @test.A(value = "abc") test.G2<kotlin.Int!, in @test.A kotlin.Int!>!, in @test.A(value = "abc") kotlin.Int!>!>!>!): kotlin.Unit
|
||||
public abstract fun f12(/*0*/ p: test.G2<in @test.A kotlin.String!, test.G2<out @test.A(value = "abc") kotlin.Int!, test.G2<out @test.A(value = "abc") test.G2<kotlin.Int!, in @test.A kotlin.Int!>!, out @test.A(value = "abc") kotlin.Int!>!>!>!): kotlin.Unit
|
||||
public abstract fun f13(/*0*/ p: (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)): kotlin.Unit
|
||||
public abstract fun f14(/*0*/ p: @test.A kotlin.IntArray!): kotlin.Unit
|
||||
public abstract fun f15(/*0*/ @test.A p: kotlin.Array<(out) @test.A kotlin.Int!>!): kotlin.Unit
|
||||
public abstract fun f16(/*0*/ @test.A p: kotlin.IntArray!): kotlin.Unit
|
||||
public abstract fun f17(/*0*/ @test.A p: (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)): kotlin.Unit
|
||||
public abstract fun f18(/*0*/ @test.A p1: @test.A kotlin.IntArray!, /*1*/ p2: (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?), /*2*/ @test.A p3: kotlin.IntArray!): kotlin.Unit
|
||||
public abstract fun f19(/*0*/ p: kotlin.Array<(out) (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!): kotlin.Unit
|
||||
public abstract fun f2(/*0*/ p: test.G1<@test.A kotlin.String!>!): kotlin.Unit
|
||||
public abstract fun f20(/*0*/ p: (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)): kotlin.Unit
|
||||
public abstract fun f21(/*0*/ @test.A p: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>!): kotlin.Unit
|
||||
public abstract fun f22(/*0*/ @test.A p: (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>?)): kotlin.Unit
|
||||
public abstract fun f23(/*0*/ @test.A p: kotlin.Array<(out) (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>?)>!): kotlin.Unit
|
||||
public abstract fun f24(/*0*/ @test.A p: (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)): kotlin.Unit
|
||||
public abstract fun f25(/*0*/ p: (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)): kotlin.Unit
|
||||
public abstract fun f26(/*0*/ p1: (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Any!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Any!>!>?), /*1*/ p2: (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?), /*2*/ @test.A p3: (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>?)): kotlin.Unit
|
||||
public abstract fun f27(/*0*/ @test.A p: (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Any!>!>!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Any!>!>!>!>!>?)): kotlin.Unit
|
||||
public abstract fun f28(/*0*/ p: test.G1<(@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!): kotlin.Unit
|
||||
public abstract fun f29(/*0*/ p: test.G2<kotlin.Int!, @test.A kotlin.IntArray!>!): kotlin.Unit
|
||||
public abstract fun f3(/*0*/ p: test.G2<@test.A kotlin.String!, test.G2<@test.A(value = "abc") kotlin.Int!, test.G2<@test.A(value = "abc") test.G2<kotlin.Int!, @test.A kotlin.Int!>!, @test.A(value = "abc") kotlin.Int!>!>!>!): kotlin.Unit
|
||||
public abstract fun f30(/*0*/ p: test.G1<kotlin.Array<(out) @test.A kotlin.Int!>!>!): kotlin.Unit
|
||||
public abstract fun f31(/*0*/ p: test.G1<test.G1<kotlin.IntArray!>!>!): kotlin.Unit
|
||||
public abstract fun f32(/*0*/ p: test.G1<test.G2<test.G1<(@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<@test.A kotlin.IntArray!>!>!>!): kotlin.Unit
|
||||
public abstract fun f33(/*0*/ p: test.G1<@test.A kotlin.IntArray!>!): kotlin.Unit
|
||||
public abstract fun f34(/*0*/ p: test.G1<(@test.A kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>?)>!): kotlin.Unit
|
||||
public abstract fun f35(/*0*/ p1: test.G2<kotlin.Int!, kotlin.Array<(out) @test.A kotlin.IntArray!>!>!, /*1*/ p2: test.G1<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!, /*2*/ p3: test.G1<test.G1<kotlin.IntArray!>!>!): kotlin.Unit
|
||||
public abstract fun f36(/*0*/ p: test.G1<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!): kotlin.Unit
|
||||
public abstract fun f37(/*0*/ p: test.G1<test.G1<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!>!): kotlin.Unit
|
||||
public abstract fun f38(/*0*/ p: test.G1<test.G2<test.G1<(@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<(@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!>!>!): kotlin.Unit
|
||||
public abstract fun f39(/*0*/ p: test.G1<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>!): kotlin.Unit
|
||||
public abstract fun f4(/*0*/ p: test.G1<out @test.A test.G0!>!): kotlin.Unit
|
||||
public abstract fun f40(/*0*/ p: test.G1<out (@test.A kotlin.Array<kotlin.Int!>..@test.A kotlin.Array<out kotlin.Int!>?)>!): kotlin.Unit
|
||||
public abstract fun f41(/*0*/ p: test.G2<out kotlin.Int!, in @test.A kotlin.IntArray!>!): kotlin.Unit
|
||||
public abstract fun f42(/*0*/ p: test.G1<in kotlin.Array<(out) @test.A kotlin.Int!>!>!): kotlin.Unit
|
||||
public abstract fun f43(/*0*/ p: test.G1<in test.G1<in kotlin.IntArray!>!>!): kotlin.Unit
|
||||
public abstract fun f44(/*0*/ p: test.G1<out test.G2<test.G1<in (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<out @test.A kotlin.IntArray!>!>!>!): kotlin.Unit
|
||||
public abstract fun f45(/*0*/ p: test.G1<out test.G2<in test.G1<(@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!, test.G1<out @test.A kotlin.IntArray!>!>!>!): kotlin.Unit
|
||||
public abstract fun f46(/*0*/ p: test.G1<in @test.A kotlin.IntArray!>!): kotlin.Unit
|
||||
public abstract fun f47(/*0*/ p: test.G1<out (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>?)>!): kotlin.Unit
|
||||
public abstract fun f48(/*0*/ p: test.G2<out kotlin.Int!, in (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!): kotlin.Unit
|
||||
public abstract fun f49(/*0*/ p1: test.G1<in kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>!>!>!>!, /*1*/ p2: test.G1<in test.G1<in kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>!, /*2*/ p3: test.G2<out kotlin.Int!, in (@test.A kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!): kotlin.Unit
|
||||
public abstract fun f5(/*0*/ p: test.G1<test.G1<test.G1<test.G1<out @test.A test.G0!>!>!>!>!): kotlin.Unit
|
||||
public abstract fun f50(/*0*/ p: test.G1<in test.G1<in kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>!): kotlin.Unit
|
||||
public abstract fun f51(/*0*/ p: test.G1<out test.G2<test.G1<in (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Int!>!>!>?)>!, test.G1<out (@test.A kotlin.Array<(@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>..@test.A kotlin.Array<out (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>?)>!>!>!): kotlin.Unit
|
||||
public abstract fun f52(/*0*/ p: test.G1<out test.G2<in test.G1<kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>!, test.G1<out (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!>!>!): kotlin.Unit
|
||||
public abstract fun f53(/*0*/ p: test.G1<in kotlin.Array<(out) @test.A kotlin.IntArray!>!>!): kotlin.Unit
|
||||
public abstract fun f54(/*0*/ p1: test.G1<out test.G2<in test.G1<kotlin.Array<(out) kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.Int!>..@test.A kotlin.Array<out @test.A kotlin.Int!>?)>!>!>!, test.G1<out (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!>!>!, /*1*/ p2: test.G1<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>!, /*2*/ @test.A p3: (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Any!>!>!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.Any!>!>!>!>!>?), /*3*/ @test.A p4: @test.A kotlin.IntArray!, /*4*/ p5: test.G2<in @test.A kotlin.String!, test.G2<out @test.A(value = "abc") kotlin.Int!, test.G2<out @test.A(value = "abc") test.G2<kotlin.Int!, in @test.A kotlin.Int!>!, out @test.A(value = "abc") kotlin.Int!>!>!>!): kotlin.Unit
|
||||
public abstract fun f55(/*0*/ @test.A vararg x: @test.A kotlin.String! /*kotlin.Array<(out) @test.A kotlin.String!>!*/): kotlin.Unit
|
||||
public abstract fun f56(/*0*/ vararg x: kotlin.String! /*(@test.A kotlin.Array<kotlin.String!>..@test.A kotlin.Array<out kotlin.String!>?)*/): kotlin.Unit
|
||||
public abstract fun f57(/*0*/ @test.A vararg x: @test.A kotlin.String! /*(@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)*/): kotlin.Unit
|
||||
public abstract fun f58(/*0*/ @test.A vararg x: kotlin.Int /*kotlin.IntArray!*/): kotlin.Unit
|
||||
public abstract fun f59(/*0*/ vararg x: kotlin.Int /*@test.A kotlin.IntArray!*/): kotlin.Unit
|
||||
public abstract fun f6(/*0*/ p1: test.G1<out @test.A kotlin.String!>!, /*1*/ p2: test.G1<test.G1<test.G1<test.G1<out @test.A test.G0!>!>!>!>!): kotlin.Unit
|
||||
public abstract fun f60(/*0*/ @test.A vararg x: kotlin.Int /*@test.A kotlin.IntArray!*/): kotlin.Unit
|
||||
public abstract fun f61(/*0*/ @test.A vararg x: kotlin.Array<(out) @test.A kotlin.String!>! /*kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.String!>!>!*/): kotlin.Unit
|
||||
public abstract fun f62(/*0*/ vararg x: (@test.A kotlin.Array<kotlin.String!>..@test.A kotlin.Array<out kotlin.String!>?) /*kotlin.Array<(out) (@test.A kotlin.Array<kotlin.String!>..@test.A kotlin.Array<out kotlin.String!>?)>!*/): kotlin.Unit
|
||||
public abstract fun f63(/*0*/ vararg x: kotlin.Array<(out) kotlin.String!>! /*(@test.A kotlin.Array<kotlin.Array<(out) kotlin.String!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.String!>!>?)*/): kotlin.Unit
|
||||
public abstract fun f64(/*0*/ @test.A vararg x: (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?) /*(@test.A kotlin.Array<(@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>..@test.A kotlin.Array<out (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>?)*/): kotlin.Unit
|
||||
public abstract fun f65(/*0*/ @test.A vararg x: kotlin.IntArray! /*kotlin.Array<(out) kotlin.IntArray!>!*/): kotlin.Unit
|
||||
public abstract fun f66(/*0*/ vararg x: @test.A kotlin.IntArray! /*kotlin.Array<(out) @test.A kotlin.IntArray!>!*/): kotlin.Unit
|
||||
public abstract fun f67(/*0*/ vararg x: kotlin.IntArray! /*(@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)*/): kotlin.Unit
|
||||
public abstract fun f68(/*0*/ @test.A vararg x: @test.A kotlin.IntArray! /*(@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)*/): kotlin.Unit
|
||||
public abstract fun f69(/*0*/ @test.A vararg x: kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.String!>!>! /*kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.String!>!>!>!*/): kotlin.Unit
|
||||
public abstract fun f7(/*0*/ p: test.G2<out @test.A kotlin.String!, test.G2<out @test.A(value = "abc") kotlin.Int!, test.G2<out @test.A(value = "abc") test.G2<kotlin.Int!, out @test.A kotlin.Int!>!, out @test.A(value = "abc") kotlin.Int!>!>!>!): kotlin.Unit
|
||||
public abstract fun f70(/*0*/ vararg x: (@test.A kotlin.Array<kotlin.Array<(out) kotlin.String!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.String!>!>?) /*kotlin.Array<(out) (@test.A kotlin.Array<kotlin.Array<(out) kotlin.String!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.String!>!>?)>!*/): kotlin.Unit
|
||||
public abstract fun f71(/*0*/ vararg x: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.String!>!>!>! /*(@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.String!>!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.String!>!>!>!>?)*/): kotlin.Unit
|
||||
public abstract fun f72(/*0*/ @test.A vararg x: (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>!>?) /*(@test.A kotlin.Array<(@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>!>?)>..@test.A kotlin.Array<out (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.String!>..@test.A kotlin.Array<out @test.A kotlin.String!>?)>!>?)>?)*/): kotlin.Unit
|
||||
public abstract fun f73(/*0*/ @test.A vararg x: (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?) /*kotlin.Array<(out) (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?)>!*/): kotlin.Unit
|
||||
public abstract fun f74(/*0*/ vararg x: (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>?) /*kotlin.Array<(out) (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @test.A kotlin.IntArray!>!>!>?)>!*/): kotlin.Unit
|
||||
public abstract fun f75(/*0*/ vararg x: kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>! /*(@test.A kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>?)*/): kotlin.Unit
|
||||
public abstract fun f76(/*0*/ @test.A vararg x: kotlin.Array<(out) @test.A kotlin.IntArray!>! /*(@test.A kotlin.Array<kotlin.Array<(out) @test.A kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) @test.A kotlin.IntArray!>!>?)*/): kotlin.Unit
|
||||
public abstract fun f8(/*0*/ p: test.G1<in @test.A test.G0!>!): kotlin.Unit
|
||||
public abstract fun f9(/*0*/ p: test.G1<test.G1<test.G1<test.G1<in @test.A test.G0!>!>!>!>!): kotlin.Unit
|
||||
|
||||
public open class Test {
|
||||
public constructor Test(/*0*/ p1: test.G2<in @test.A kotlin.String!, test.G2<out @test.A(value = "abc") kotlin.Int!, test.G2<out @test.A(value = "abc") test.G2<kotlin.Int!, in @test.A kotlin.Int!>!, out @test.A(value = "abc") kotlin.Int!>!>!>!, /*1*/ p2: (@test.A kotlin.Array<kotlin.Array<(out) kotlin.Any!>!>..@test.A kotlin.Array<out kotlin.Array<(out) kotlin.Any!>!>?), /*2*/ p3: (@test.A kotlin.Array<kotlin.IntArray!>..@test.A kotlin.Array<out kotlin.IntArray!>?), /*3*/ @test.A p4: (@test.A kotlin.Array<kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>..@test.A kotlin.Array<out kotlin.Array<(out) (@test.A kotlin.Array<@test.A kotlin.IntArray!>..@test.A kotlin.Array<out @test.A kotlin.IntArray!>?)>!>?), /*4*/ @test.A vararg p5: kotlin.Array<(out) @test.A kotlin.IntArray!>! /*(@test.A kotlin.Array<kotlin.Array<(out) @test.A kotlin.IntArray!>!>..@test.A kotlin.Array<out kotlin.Array<(out) @test.A kotlin.IntArray!>!>?)*/)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user