Use new jetbrains annotations with type use target for "load java 8" tests

This commit is contained in:
Victor Petukhov
2020-12-08 15:44:04 +03:00
parent 6f64e2c036
commit 8777d28228
48 changed files with 1254 additions and 895 deletions
@@ -1,22 +1,19 @@
// JAVAC_EXPECTED_FILE
package test;
import java.lang.annotation.*;
import org.jetbrains.annotations.*;
public class Basic {
@Target(ElementType.TYPE_PARAMETER)
public @interface A {
String value() default "";
public interface G<@NotNull T> {
<@NotNull R> void foo(R r);
}
public interface G<@A T> {
<@A("abc") R> void foo(R r);
public interface G1<T, E extends T, @NotNull X> {
<R, @Nullable _A extends 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) {
<R, @NotNull _A extends R, @Nullable K> void foo(R r) {
}
}
@@ -9,6 +9,6 @@ public open class Basic {
}
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 abstract fun </*0*/ @test.Basic.A(value = "abc") R : kotlin.Any!> foo(/*0*/ p0: R!): kotlin.Unit
}
}
@@ -2,18 +2,13 @@ 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
public/*package*/ open fun </*0*/ R : kotlin.Any!, /*1*/ @org.jetbrains.annotations.NotNull _A : R, /*2*/ @org.jetbrains.annotations.Nullable K> 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*/ @org.jetbrains.annotations.NotNull T : kotlin.Any> {
public abstract fun </*0*/ @org.jetbrains.annotations.NotNull R : kotlin.Any> foo(/*0*/ r: R): kotlin.Unit
}
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
public interface G1</*0*/ T : kotlin.Any!, /*1*/ E : T!, /*2*/ @org.jetbrains.annotations.NotNull X : kotlin.Any> {
public abstract fun </*0*/ R : kotlin.Any!, /*1*/ @org.jetbrains.annotations.Nullable _A : R?> foo(/*0*/ r: R!): kotlin.Unit
}
}
@@ -1,26 +1,23 @@
// JAVAC_EXPECTED_FILE
package test;
import java.lang.annotation.*;
@Target(ElementType.TYPE_USE)
@interface A {
String value() default "";
}
import org.jetbrains.annotations.*;
interface I1<T> {}
interface I2<T, K> {}
interface I3<T, K, L> {}
class A1<T> {}
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 []>> {
public class BaseClassTypeArguments<B> extends A3<@NotNull B [][][][][], I1<I1<@NotNull int @NotNull [][]>>, A2<B, int [] [] @NotNull []>> implements I1<@NotNull Integer @NotNull [][][]>, I2<@NotNull B, B>, I3<@NotNull B [][][][][], B, @NotNull B> {
class Basic1 implements I1<@NotNull String> { }
class Basic2 extends A1<@NotNull String> { }
}
class ImplementedInterfacesTypeArguments<B> implements I1<I2<I1<@NotNull Integer @NotNull [][][]>, I1<@NotNull int [] @NotNull []>>>, I2<@NotNull B, B>, I3<@NotNull B [][][][][], I1<I1<@NotNull int @NotNull [][]>>, I2<B, int [] [] @NotNull []>> {
public class BaseClassTypeArguments1<B> extends A3<@NotNull B [][][][][], I1<I1<@NotNull int @NotNull [][]>>, A2<B, int [] [] @NotNull []>> { }
}
static class BaseClassTypeArguments2<B> extends A3<@A B [][][][][], I1<I1<@A int @A [][]>>, A2<B, int [] [] @A []>> {
}
}
static class BaseClassTypeArguments2<B> extends A3<@NotNull B [][][][][], I1<I1<@NotNull int @NotNull [][]>>, A2<B, int [] [] @NotNull []>> { }
}
@@ -0,0 +1,46 @@
package test
public/*package*/ open class A1</*0*/ T : kotlin.Any!> {
public/*package*/ constructor A1</*0*/ T : kotlin.Any!>()
}
public/*package*/ open class A2</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!> {
public/*package*/ constructor A2</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!>()
}
public/*package*/ open class A3</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!, /*2*/ L : kotlin.Any!> {
public/*package*/ constructor A3</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!, /*2*/ L : kotlin.Any!>()
}
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) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.A2<B!, kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!>, test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, B!, @org.jetbrains.annotations.NotNull 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) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.A2<B!, kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!> {
public/*package*/ constructor BaseClassTypeArguments2</*0*/ B : kotlin.Any!>()
}
public/*package*/ open inner class Basic1 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.I1<@org.jetbrains.annotations.NotNull kotlin.String> {
public/*package*/ constructor Basic1()
}
public/*package*/ open inner class Basic2 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.A1<@org.jetbrains.annotations.NotNull kotlin.String> {
public/*package*/ constructor Basic2()
}
public/*package*/ open inner class ImplementedInterfacesTypeArguments</*0*/ B : kotlin.Any!> /*captured type parameters: /*1*/ B : kotlin.Any!*/ : test.I1<test.I2<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>!, test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.I2<B!, 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) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.A2<B!, kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!> {
public constructor BaseClassTypeArguments1</*0*/ B : kotlin.Any!>()
}
}
}
public/*package*/ interface I1</*0*/ T : kotlin.Any!> {
}
public/*package*/ interface I2</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!> {
}
public/*package*/ interface I3</*0*/ T : kotlin.Any!, /*1*/ K : kotlin.Any!, /*2*/ L : kotlin.Any!> {
}
@@ -1,16 +1,24 @@
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 open class BaseClassTypeArguments</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.A2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!>, test.I1<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, B!, @org.jetbrains.annotations.NotNull 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*/ open class BaseClassTypeArguments2</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.A2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull 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*/ open inner class Basic1 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.I1<@org.jetbrains.annotations.NotNull kotlin.String> {
public/*package*/ constructor Basic1()
}
public/*package*/ open inner class Basic2 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.A1<@org.jetbrains.annotations.NotNull kotlin.String> {
public/*package*/ constructor Basic2()
}
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) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.I2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull 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 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) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.A2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!> {
public constructor BaseClassTypeArguments1</*0*/ B : kotlin.Any!>()
}
}
@@ -1,12 +1,10 @@
// JAVAC_EXPECTED_FILE
package test;
import java.lang.annotation.*;
public class Basic {
@Target(ElementType.TYPE_USE)
@interface A {
String value() default "";
}
import org.jetbrains.annotations.*;
public class Basic {
interface G<T> {
}
@@ -14,8 +12,7 @@ public class Basic {
}
public interface MyClass<TT> {
void f(G<@A String> p);
void f(G2<@A String, @A("abc") Integer> p);
void f(G<@NotNull String> p);
void f(G2<@Nullable String, @NotNull Integer> p);
}
}
@@ -0,0 +1,16 @@
package test
public open class Basic {
public constructor Basic()
public/*package*/ interface G</*0*/ T : kotlin.Any!> {
}
public/*package*/ interface G2</*0*/ A : kotlin.Any!, /*1*/ B : kotlin.Any!> {
}
public interface MyClass</*0*/ TT : kotlin.Any!> {
public abstract fun f(/*0*/ p: test.Basic.G2<@org.jetbrains.annotations.Nullable kotlin.String?, @org.jetbrains.annotations.NotNull kotlin.Int>!): kotlin.Unit
public abstract fun f(/*0*/ p: test.Basic.G<@org.jetbrains.annotations.NotNull kotlin.String>!): kotlin.Unit
}
}
@@ -3,11 +3,6 @@ package test
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 = ...)
public final val value: kotlin.String
}
public/*package*/ interface G</*0*/ T : kotlin.Any!> {
}
@@ -15,7 +10,7 @@ public open class Basic {
}
public interface MyClass</*0*/ TT : kotlin.Any!> {
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
public abstract fun f(/*0*/ p: test.Basic.G2<@org.jetbrains.annotations.Nullable kotlin.String?, @org.jetbrains.annotations.NotNull kotlin.Int>!): kotlin.Unit
public abstract fun f(/*0*/ p: test.Basic.G<@org.jetbrains.annotations.NotNull kotlin.String>!): kotlin.Unit
}
}
@@ -2,12 +2,7 @@
package test;
import java.lang.annotation.*;
@Target(ElementType.TYPE_USE)
@interface A {
String value() default "";
}
import org.jetbrains.annotations.*;
public class ClassTypeParameterBounds {
interface I1 {}
@@ -15,19 +10,19 @@ public class ClassTypeParameterBounds {
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 G1<T extends @NotNull Object> { }
class G2<_A, B extends @Nullable Integer> { }
interface G3<_A, B extends Object & @NotNull I1> { }
class G4<_A extends @NotNull B, B> { }
interface G5<_A, B extends @Nullable _A> { }
class G6<_A extends @Nullable I1, B, C, D extends @NotNull E, E, F> { }
interface G7<_A extends Object & I2<@NotNull Integer> & @NotNull I3<String>> { }
interface G8<_A extends Object & I2<? super @NotNull Integer> & @Nullable 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 [] []>> { }
interface G9<_A extends I4<Integer @NotNull []> & I2<? extends @NotNull Integer @NotNull []> & @NotNull I3<? extends Integer @NotNull []>> { }
interface G10<_A extends I4<int @NotNull []> & I2<? extends @Nullable int @Nullable []> & @NotNull I3<? extends int @NotNull []>> { }
interface G11<_A extends I4<Integer [] [] @NotNull []> & I2<? extends @NotNull Integer @NotNull [] [] [] []> & @NotNull I3<? extends Integer [] @NotNull []>> { }
interface G12<_A extends I4<int @Nullable [][]> & I2<? extends @Nullable int [] [] @NotNull []> & @NotNull I3<? extends int []@NotNull [] []>> { }
// class G13<_A extends Object, B extends I3<@A _A> & @A I2<_A>> { }
// class G13<_A extends Object, B extends I3<@NotNull _A> & @NotNull I2<_A>> { }
}
@@ -0,0 +1,56 @@
package test
public open class ClassTypeParameterBounds {
public constructor ClassTypeParameterBounds()
public/*package*/ interface G1</*0*/ T : @org.jetbrains.annotations.NotNull kotlin.Any> {
}
public/*package*/ interface G10</*0*/ _A : test.ClassTypeParameterBounds.I4<kotlin.IntArray!>!> where _A : test.ClassTypeParameterBounds.I2<out kotlin.IntArray!>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out kotlin.IntArray!> {
}
public/*package*/ interface G11</*0*/ _A : test.ClassTypeParameterBounds.I4<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!> where _A : test.ClassTypeParameterBounds.I2<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>)>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!> {
}
public/*package*/ interface G12</*0*/ _A : test.ClassTypeParameterBounds.I4<(@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)>!> where _A : test.ClassTypeParameterBounds.I2<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!> {
}
public/*package*/ open inner class G2</*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable kotlin.Int?> {
public/*package*/ constructor G2</*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable kotlin.Int?>()
}
public/*package*/ interface G3</*0*/ _A : kotlin.Any!, /*1*/ B : kotlin.Any!> where B : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I1 {
}
public/*package*/ open inner class G4</*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!> {
public/*package*/ constructor G4</*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!>()
}
public/*package*/ interface G5</*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable _A?> {
}
public/*package*/ open inner class G6</*0*/ _A : @org.jetbrains.annotations.Nullable test.ClassTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull E, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!> {
public/*package*/ constructor G6</*0*/ _A : @org.jetbrains.annotations.Nullable test.ClassTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull E, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!>()
}
public/*package*/ interface G7</*0*/ _A : kotlin.Any!> where _A : test.ClassTypeParameterBounds.I2<@org.jetbrains.annotations.NotNull kotlin.Int>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<kotlin.String!> {
}
public/*package*/ interface G8</*0*/ _A : kotlin.Any!> where _A : test.ClassTypeParameterBounds.I2<in @org.jetbrains.annotations.NotNull kotlin.Int>!, _A : @org.jetbrains.annotations.Nullable test.ClassTypeParameterBounds.I3<out kotlin.String!>? {
}
public/*package*/ interface G9</*0*/ _A : test.ClassTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!> where _A : test.ClassTypeParameterBounds.I2<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull 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!> {
}
}
@@ -3,43 +3,43 @@ package test
public open class ClassTypeParameterBounds {
public constructor ClassTypeParameterBounds()
public/*package*/ interface G1</*0*/ T : @test.A kotlin.Any!> {
public/*package*/ interface G1</*0*/ T : @org.jetbrains.annotations.NotNull 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 G10</*0*/ _A : test.ClassTypeParameterBounds.I4<kotlin.IntArray!>!> where _A : test.ClassTypeParameterBounds.I2<out kotlin.IntArray!>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out 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 G11</*0*/ _A : test.ClassTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Int!>!>!>..@org.jetbrains.annotations.NotNull 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) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@org.jetbrains.annotations.NotNull 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*/ interface G12</*0*/ _A : test.ClassTypeParameterBounds.I4<kotlin.Array<(out) kotlin.IntArray!>!>!> where _A : test.ClassTypeParameterBounds.I2<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull 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*/ open inner class G2</*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable kotlin.Int?> {
public/*package*/ constructor G2</*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable kotlin.Int?>()
}
public/*package*/ interface G3</*0*/ _A : kotlin.Any!, /*1*/ B : kotlin.Any!> where B : @test.A test.ClassTypeParameterBounds.I1! {
public/*package*/ interface G3</*0*/ _A : kotlin.Any!, /*1*/ B : kotlin.Any!> where B : @org.jetbrains.annotations.NotNull 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*/ open inner class G4</*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!> {
public/*package*/ constructor G4</*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!>()
}
public/*package*/ interface G5</*0*/ _A : kotlin.Any!, /*1*/ B : @test.A _A!> {
public/*package*/ interface G5</*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable _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*/ open inner class G6</*0*/ _A : @org.jetbrains.annotations.Nullable test.ClassTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull E, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!> {
public/*package*/ constructor G6</*0*/ _A : @org.jetbrains.annotations.Nullable test.ClassTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull 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 G7</*0*/ _A : kotlin.Any!> where _A : test.ClassTypeParameterBounds.I2<@org.jetbrains.annotations.NotNull kotlin.Int>!, _A : @org.jetbrains.annotations.NotNull 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 G8</*0*/ _A : kotlin.Any!> where _A : test.ClassTypeParameterBounds.I2<in @org.jetbrains.annotations.NotNull kotlin.Int>!, _A : @org.jetbrains.annotations.Nullable 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 G9</*0*/ _A : test.ClassTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!> where _A : test.ClassTypeParameterBounds.I2<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, _A : @org.jetbrains.annotations.NotNull test.ClassTypeParameterBounds.I3<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)> {
}
public/*package*/ interface I1 {
@@ -2,12 +2,7 @@
package test;
import java.lang.annotation.*;
@Target(ElementType.TYPE_USE)
@interface A {
String value() default "";
}
import org.jetbrains.annotations.*;
/*
* Note that a receiver type doesn't get into signatures used by the Kotlin compiler
@@ -15,9 +10,9 @@ import java.lang.annotation.*;
*/
public class MethodReceiver<T> {
public void f1(MethodReceiver<@A T> this) { }
public void f1(MethodReceiver<@Nullable T> this) { }
class MethodReceiver3<T, K, L> {
public void f1(@A MethodReceiver3<@A T, K, @A L> this) { }
public void f1(@Nullable MethodReceiver3<@Nullable T, K, @Nullable 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
}
}
@@ -2,12 +2,7 @@
package test;
import java.lang.annotation.*;
@Target(ElementType.TYPE_USE)
@interface A {
String value() default "";
}
import org.jetbrains.annotations.*;
abstract class MethodTypeParameterBounds {
interface I1 {}
@@ -15,19 +10,19 @@ abstract class MethodTypeParameterBounds {
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) { }
<T extends @NotNull Object> void f1(T x) { }
<_A, B extends @NotNull Integer> void f2(_A x, B y) { }
<_A, B extends Object & @Nullable I1> void f3(_A x, B y) { }
<_A extends @NotNull B, B> void f4(_A x, B y) { }
<_A, B extends @Nullable _A> void f5(_A x, B y) { }
<_A extends @Nullable I1> void f6() { }
abstract <_A, B extends @NotNull _A> void f7(_A x, B y);
abstract <_A extends @Nullable I1, B, C, D extends @NotNull E, E, F> void f8(_A x1, B x2, C x3, D x4, E x5, F x6);
<_A extends Object & I2<@Nullable Integer> & @Nullable I3<String>> void f9(_A x) { }
<_A extends Object & I2<? super @Nullable Integer> & @Nullable I3<? extends String>> void f10(_A x) { }
<_A extends I4<Integer @NotNull []> & I2<? extends @Nullable Integer @Nullable []> & @Nullable I3<? extends Integer @NotNull []>> void f11(_A x) { }
<_A extends I4<int @Nullable []> & I2<? extends @Nullable int @Nullable []> & @NotNull I3<? extends int @Nullable []>> void f12(_A x) { }
<_A extends I4<Integer [] [] @Nullable []> & I2<? extends @Nullable Integer @Nullable [] [] [] []> & @Nullable I3<? extends Integer [] @Nullable []>> void f13(_A x) { }
abstract <_A extends I4<int @NotNull [][]> & I2<? extends @Nullable int [] [] @Nullable []> & @Nullable I3<? extends int []@Nullable [] []>> void f14(_A x);
<_A extends Object, B extends I3<@Nullable _A> & @NotNull I2<_A>> void f15(_A x) { }
}
@@ -0,0 +1,32 @@
package test
public/*package*/ abstract class MethodTypeParameterBounds {
public/*package*/ constructor MethodTypeParameterBounds()
public/*package*/ open fun </*0*/ T : @org.jetbrains.annotations.NotNull 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 @org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.String!>?
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!> f11(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>?
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.IntArray!>!> f12(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.IntArray!>!, _A : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I3<out kotlin.IntArray!>
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!>!>!> f13(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<(@org.jetbrains.annotations.Nullable kotlin.Array<(@org.jetbrains.annotations.Nullable kotlin.Array<(@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?..@org.jetbrains.annotations.Nullable kotlin.Array<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?)>?..@org.jetbrains.annotations.Nullable kotlin.Array<out (@org.jetbrains.annotations.Nullable kotlin.Array<(@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?..@org.jetbrains.annotations.Nullable kotlin.Array<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?)>?)>?..@org.jetbrains.annotations.Nullable kotlin.Array<out (@org.jetbrains.annotations.Nullable kotlin.Array<(@org.jetbrains.annotations.Nullable kotlin.Array<(@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?..@org.jetbrains.annotations.Nullable kotlin.Array<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?)>?..@org.jetbrains.annotations.Nullable kotlin.Array<out (@org.jetbrains.annotations.Nullable kotlin.Array<(@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?..@org.jetbrains.annotations.Nullable kotlin.Array<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>?)>?)>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!>?
public/*package*/ abstract fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!> f14(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)>!>?
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : test.MethodTypeParameterBounds.I3<@org.jetbrains.annotations.Nullable _A?>!> f15(/*0*/ x: _A!): kotlin.Unit where B : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I2<_A!>
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull 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 : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?
public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!> f4(/*0*/ x: _A, /*1*/ y: B!): kotlin.Unit
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable _A?> f5(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit
public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?> f6(): kotlin.Unit
public/*package*/ abstract fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull _A> f7(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit
public/*package*/ abstract fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull 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<@org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable 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!> {
}
}
@@ -2,21 +2,21 @@ 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*/ open fun </*0*/ T : @org.jetbrains.annotations.NotNull 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 @org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.String!>?
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!> f11(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>?
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.IntArray!>!> f12(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.IntArray!>!, _A : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I3<out kotlin.IntArray!>
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Int!>!>!>?..@org.jetbrains.annotations.Nullable 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) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!>!>!>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>?)>?
public/*package*/ abstract fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.Array<(out) kotlin.IntArray!>!>!> f14(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)>!>?
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : test.MethodTypeParameterBounds.I3<@org.jetbrains.annotations.Nullable _A?>!> f15(/*0*/ x: _A!): kotlin.Unit where B : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I2<_A!>
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull 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 : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?
public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!> f4(/*0*/ x: _A, /*1*/ y: B!): kotlin.Unit
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable _A?> f5(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit
public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?> f6(): kotlin.Unit
public/*package*/ abstract fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull _A> f7(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit
public/*package*/ abstract fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull 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<@org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<kotlin.String!>?
public/*package*/ interface I1 {
}
@@ -1,11 +1,8 @@
// JAVAC_EXPECTED_FILE
package test;
import java.lang.annotation.*;
@Target(ElementType.TYPE_USE)
@interface A {
String value() default "";
}
import org.jetbrains.annotations.*;
interface G0 { }
interface G1<T> { }
@@ -13,83 +10,87 @@ 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();
G1<@NotNull G0> f0();
G1<G1<G1<G1<@NotNull G0>>>> f1();
G1<@NotNull String> f2();
G2<@NotNull String, G2<@NotNull Integer, G2<@NotNull G2<Integer, @NotNull Integer>, @NotNull 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<? extends @NotNull G0> f4 = null;
G1<G1<G1<G1<? extends @NotNull G0>>>> f5();
G1<? extends @NotNull String> f6();
G2<? extends @NotNull String, G2<? extends @NotNull Integer, G2<? extends @NotNull G2<Integer, ? extends @NotNull Integer>, ? extends @NotNull 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();
G1<? super @NotNull G0> f8();
G1<G1<G1<G1<? super @NotNull G0>>>> f9();
G1<? super @NotNull String> f10 = null;
G2<? super @NotNull String, G2<? super @NotNull Integer, G2<? super @NotNull G2<Integer, ? super @NotNull Integer>, ? super @NotNull 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;
G2<? super @NotNull String, G2<? extends @NotNull Integer, G2<? extends @NotNull G2<Integer, ? super @NotNull Integer>, ? extends @NotNull 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;
Integer @NotNull [] f13();
int @NotNull [] f14();
@NotNull Integer [] f15();
@NotNull int [] f16();
@NotNull int [] f161 = null;
@NotNull Integer @NotNull [] f17();
@NotNull int @NotNull [] 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();
Integer @NotNull [] [] f19();
int @NotNull [] @NotNull [] f20();
@NotNull Integer [] [] [] f21 = null;
@NotNull int @NotNull [] @NotNull [] [] @NotNull [] f22();
@NotNull Integer @NotNull [] [] @NotNull [] [] f23();
@NotNull int @NotNull [] @NotNull [] f24 = null;
int [] @NotNull [] f25();
Object [] @NotNull [] f26();
@NotNull Object [] [] [] [] @NotNull [] f27();
@NotNull Object [] [] [] [] @NotNull [] f271 = null;
// 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();
G1<Integer @NotNull []> f28();
G2<Integer, int @NotNull []> f29();
G1<@NotNull Integer []> f30();
G1<G1<@NotNull int []>> f31();
G1<G2<G1<@NotNull Integer @NotNull []>, G1<@NotNull int @NotNull []>>> f32();
G1<@NotNull int @NotNull []> f33();
G1<Integer [] @NotNull []> f34();
G2<Integer, int @NotNull [][]> f35 = null;
G1<@NotNull Integer @NotNull [] []> f36();
G1<G1<@NotNull int [][][]>> f37();
G1<G2<G1<@NotNull Integer @NotNull []>, G1<@NotNull int [] [] @NotNull []>>> f38();
G1<@NotNull int @NotNull [] @NotNull [] []> 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();
G1<? extends Integer @NotNull []> f40();
G2<? extends Integer, ? super int @NotNull []> f41();
G1<? super @NotNull Integer []> f42();
G1<? super G1<? super @NotNull int []>> f43();
G1<? extends G2<G1<? super @NotNull Integer @NotNull []>, G1<? extends @NotNull int @NotNull []>>> f44();
G1<? extends G2<? super G1<@NotNull Integer @NotNull []>, G1<? extends @NotNull int @NotNull []>>> f45 = null;
G1<? super @NotNull int @NotNull []> f46();
G1<? extends Integer [] @NotNull []> f47();
G2<? extends Integer, ? super int [] [] @NotNull []> f48 = null;
G1<? super @NotNull Integer [][][][][]> f49();
G1<? super G1<? super @NotNull int @NotNull [][]>> f50();
G1<? extends G2<G1<? super @NotNull Integer [] [] @NotNull []>, G1<? extends @NotNull int @NotNull [] @NotNull [] @NotNull []>>> f51();
G1<? extends G2<? super G1<@NotNull Integer @NotNull [][][]>, G1<? extends @NotNull int [] @NotNull []>>> f52 = null;
G1<? super @NotNull int @NotNull [][]> 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;
G1<? extends @NotNull G0> f4 = null;
G1<? super @NotNull String> f10 = null;
G2<? super @NotNull String, G2<? extends @NotNull Integer, G2<? extends @NotNull G2<Integer, ? super @NotNull Integer>, ? extends @NotNull Integer>>> f12 = null;
@NotNull Integer [] f181 = null;
@NotNull Integer @NotNull [] f182 = null;
G1<@NotNull Integer> f183 = null;
@NotNull Integer [] [] [] f21 = null;
@NotNull int @NotNull [] @NotNull [] f24 = null;
G2<Integer, int @NotNull [][]> f35 = null;
G1<? extends G2<? super G1<@NotNull Integer @NotNull []>, G1<? extends @NotNull int @NotNull []>>> f45 = null;
G2<? extends Integer, ? super int [] [] @NotNull []> f48 = null;
G1<? extends G2<? super G1<@NotNull Integer @NotNull [][][]>, G1<? extends @NotNull int [] @NotNull []>>> f52 = null;
}
}
@@ -0,0 +1,87 @@
package test
public/*package*/ interface G0 {
}
public/*package*/ interface G1</*0*/ T : kotlin.Any!> {
}
public/*package*/ interface G2</*0*/ A : kotlin.Any!, /*1*/ B : kotlin.Any!> {
}
public/*package*/ interface ReturnType {
public abstract fun f0(): test.G1<@org.jetbrains.annotations.NotNull test.G0>!
public abstract fun f1(): test.G1<test.G1<test.G1<test.G1<@org.jetbrains.annotations.NotNull test.G0>!>!>!>!
public abstract fun f11(): test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<in @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<in @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, in @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
public abstract fun f13(): (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
public abstract fun f14(): kotlin.IntArray!
@org.jetbrains.annotations.NotNull public abstract fun f15(): (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
@org.jetbrains.annotations.NotNull public abstract fun f16(): kotlin.IntArray!
@org.jetbrains.annotations.NotNull public abstract fun f17(): (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
public abstract fun f19(): (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)
public abstract fun f2(): test.G1<@org.jetbrains.annotations.NotNull kotlin.String>!
public abstract fun f20(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
@org.jetbrains.annotations.NotNull public abstract fun f22(): (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>)
@org.jetbrains.annotations.NotNull public abstract fun f23(): (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>)
public abstract fun f25(): kotlin.Array<(out) kotlin.IntArray!>!
public abstract fun f26(): kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>!
@org.jetbrains.annotations.NotNull public abstract fun f27(): (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>)>)
public abstract fun f28(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!
public abstract fun f29(): test.G2<kotlin.Int!, kotlin.IntArray!>!
public abstract fun f3(): test.G2<@org.jetbrains.annotations.NotNull kotlin.String, test.G2<@org.jetbrains.annotations.NotNull kotlin.Int, test.G2<@org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, @org.jetbrains.annotations.NotNull kotlin.Int>, @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
public abstract fun f30(): test.G1<kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!
public abstract fun f31(): test.G1<test.G1<kotlin.IntArray!>!>!
public abstract fun f32(): test.G1<test.G2<test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<kotlin.IntArray!>!>!>!
public abstract fun f33(): test.G1<kotlin.IntArray!>!
public abstract fun f34(): test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!
public abstract fun f36(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull 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<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!>!>!
public abstract fun f39(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>!
public abstract fun f40(): test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!
public abstract fun f41(): test.G2<out kotlin.Int!, in kotlin.IntArray!>!
public abstract fun f42(): test.G1<in kotlin.Array<(out) @org.jetbrains.annotations.NotNull 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 (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
public abstract fun f46(): test.G1<in kotlin.IntArray!>!
public abstract fun f47(): test.G1<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!
public abstract fun f49(): test.G1<in kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!>!>!>!
public abstract fun f5(): test.G1<test.G1<test.G1<test.G1<out @org.jetbrains.annotations.NotNull test.G0>!>!>!>!
public abstract fun f50(): test.G1<in test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!
public abstract fun f51(): test.G1<out test.G2<test.G1<in kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>!>!>!
public abstract fun f53(): test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!
public abstract fun f6(): test.G1<out @org.jetbrains.annotations.NotNull kotlin.String>!
public abstract fun f7(): test.G2<out @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, out @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
public abstract fun f8(): test.G1<in @org.jetbrains.annotations.NotNull test.G0>!
public abstract fun f9(): test.G1<test.G1<test.G1<test.G1<in @org.jetbrains.annotations.NotNull test.G0>!>!>!>!
public open class ReturnType2 {
public constructor ReturnType2()
public/*package*/ final var f10: test.G1<in @org.jetbrains.annotations.NotNull kotlin.String>!
public/*package*/ final var f12: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
@org.jetbrains.annotations.NotNull public/*package*/ final var f181: (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
@org.jetbrains.annotations.NotNull public/*package*/ final var f182: (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
public/*package*/ final var f183: test.G1<@org.jetbrains.annotations.NotNull kotlin.Int>!
@org.jetbrains.annotations.NotNull public/*package*/ final var f21: (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)
@org.jetbrains.annotations.NotNull public/*package*/ final var f24: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
public/*package*/ final var f35: test.G2<kotlin.Int!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!
public/*package*/ final var f4: test.G1<out @org.jetbrains.annotations.NotNull test.G0>!
public/*package*/ final var f45: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
public/*package*/ final var f48: test.G2<out kotlin.Int!, in kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!
public/*package*/ final var f52: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>!, test.G1<out kotlin.Array<(out) kotlin.IntArray!>!>!>!>!
}
// Static members
public final val f10: test.G1<in @org.jetbrains.annotations.NotNull kotlin.String>!
public final val f12: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
@org.jetbrains.annotations.NotNull public final val f161: kotlin.IntArray!
@org.jetbrains.annotations.NotNull public final val f18: kotlin.IntArray!
@org.jetbrains.annotations.NotNull public final val f21: (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)
@org.jetbrains.annotations.NotNull public final val f24: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
@org.jetbrains.annotations.NotNull public final val f271: (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>)>)>)>)
public final val f35: test.G2<kotlin.Int!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!
public final val f4: test.G1<out @org.jetbrains.annotations.NotNull test.G0>!
public final val f45: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
public final val f48: test.G2<out kotlin.Int!, in kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!
public final val f52: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>)>)>!, test.G1<out kotlin.Array<(out) kotlin.IntArray!>!>!>!>!
}
@@ -1,74 +1,78 @@
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 f0(): test.G1<@org.jetbrains.annotations.NotNull test.G0>!
public abstract fun f1(): test.G1<test.G1<test.G1<test.G1<@org.jetbrains.annotations.NotNull test.G0>!>!>!>!
public abstract fun f11(): test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<in @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<in @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, in @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
public abstract fun f13(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)
public abstract fun f14(): kotlin.IntArray!
@org.jetbrains.annotations.NotNull public abstract fun f15(): kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!
@org.jetbrains.annotations.NotNull public abstract fun f16(): kotlin.IntArray!
@org.jetbrains.annotations.NotNull public abstract fun f17(): (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
public abstract fun f19(): kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!
public abstract fun f2(): test.G1<@org.jetbrains.annotations.NotNull kotlin.String>!
public abstract fun f20(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
@org.jetbrains.annotations.NotNull public abstract fun f22(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>)
@org.jetbrains.annotations.NotNull public abstract fun f23(): kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>)>!
public abstract fun f25(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
public abstract fun f26(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Any!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Any!>!>)
@org.jetbrains.annotations.NotNull public abstract fun f27(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Any>!>!>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Any>!>!>!>!>)
public abstract fun f28(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!
public abstract fun f29(): test.G2<kotlin.Int!, kotlin.IntArray!>!
public abstract fun f3(): test.G2<@org.jetbrains.annotations.NotNull kotlin.String, test.G2<@org.jetbrains.annotations.NotNull kotlin.Int, test.G2<@org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, @org.jetbrains.annotations.NotNull kotlin.Int>, @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
public abstract fun f30(): test.G1<kotlin.Array<(out) @org.jetbrains.annotations.NotNull 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 f32(): test.G1<test.G2<test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<kotlin.IntArray!>!>!>!
public abstract fun f33(): test.G1<kotlin.IntArray!>!
public abstract fun f34(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>)>!
public abstract fun f36(): test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull 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 f38(): test.G1<test.G2<test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!>!>!
public abstract fun f39(): test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!
public abstract fun f40(): test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!
public abstract fun f41(): test.G2<out kotlin.Int!, in kotlin.IntArray!>!
public abstract fun f42(): test.G1<in kotlin.Array<(out) @org.jetbrains.annotations.NotNull 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 abstract fun f44(): test.G1<out test.G2<test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
public abstract fun f46(): test.G1<in kotlin.IntArray!>!
public abstract fun f47(): test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@org.jetbrains.annotations.NotNull 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) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!>!>!>!
public abstract fun f5(): test.G1<test.G1<test.G1<test.G1<out @org.jetbrains.annotations.NotNull test.G0>!>!>!>!
public abstract fun f50(): test.G1<in test.G1<in kotlin.Array<(out) kotlin.IntArray!>!>!>!
public abstract fun f51(): test.G1<out test.G2<test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>)>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>!>!>!
public abstract fun f53(): test.G1<in kotlin.Array<(out) kotlin.IntArray!>!>!
public abstract fun f6(): test.G1<out @org.jetbrains.annotations.NotNull kotlin.String>!
public abstract fun f7(): test.G2<out @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, out @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
public abstract fun f8(): test.G1<in @org.jetbrains.annotations.NotNull test.G0>!
public abstract fun f9(): test.G1<test.G1<test.G1<test.G1<in @org.jetbrains.annotations.NotNull 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!>?)>!>!>!
public/*package*/ final var f10: test.G1<in @org.jetbrains.annotations.NotNull kotlin.String>!
public/*package*/ final var f12: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
@org.jetbrains.annotations.NotNull public/*package*/ final var f181: kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!
@org.jetbrains.annotations.NotNull public/*package*/ final var f182: (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
public/*package*/ final var f183: test.G1<@org.jetbrains.annotations.NotNull kotlin.Int>!
@org.jetbrains.annotations.NotNull public/*package*/ final var f21: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
@org.jetbrains.annotations.NotNull public/*package*/ final var f24: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
public/*package*/ final var f35: test.G2<kotlin.Int!, kotlin.Array<(out) kotlin.IntArray!>!>!
public/*package*/ final var f4: test.G1<out @org.jetbrains.annotations.NotNull test.G0>!
public/*package*/ final var f45: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
public/*package*/ final var f48: test.G2<out kotlin.Int!, in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull 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) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull 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!>?)>!>!>!
public final val f10: test.G1<in @org.jetbrains.annotations.NotNull kotlin.String>!
public final val f12: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
@org.jetbrains.annotations.NotNull public final val f161: kotlin.IntArray!
@org.jetbrains.annotations.NotNull public final val f18: kotlin.IntArray!
@org.jetbrains.annotations.NotNull public final val f21: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
@org.jetbrains.annotations.NotNull public final val f24: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
@org.jetbrains.annotations.NotNull public final val f271: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Any>!>!>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Any>!>!>!>!>)
public final val f35: test.G2<kotlin.Int!, kotlin.Array<(out) kotlin.IntArray!>!>!
public final val f4: test.G1<out @org.jetbrains.annotations.NotNull test.G0>!
public final val f45: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
public final val f48: test.G2<out kotlin.Int!, in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull 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) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!>!
}
@@ -1,11 +1,8 @@
// JAVAC_EXPECTED_FILE
package test;
import java.lang.annotation.*;
@Target(ElementType.TYPE_USE)
@interface A {
String value() default "";
}
import org.jetbrains.annotations.*;
interface G0 { }
interface G1<T> { }
@@ -13,104 +10,104 @@ 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);
void f0(G1<@NotNull G0> p);
void f1(G1<G1<G1<G1<@NotNull G0>>>> p);
void f2(G1<@NotNull String> p);
void f3(G2<@NotNull String, G2<@NotNull Integer, G2<@NotNull G2<Integer, @NotNull Integer>, @NotNull 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 f4(G1<? extends @NotNull G0> p);
void f5(G1<G1<G1<G1<? extends @NotNull G0>>>> p);
void f6(G1<? extends @NotNull String> p1, G1<G1<G1<G1<? extends @NotNull G0>>>> p2);
void f7(G2<? extends @NotNull String, G2<? extends @NotNull Integer, G2<? extends @NotNull G2<Integer, ? extends @NotNull Integer>, ? extends @NotNull 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 f8(G1<? super @Nullable G0> p);
void f9(G1<G1<G1<G1<? super @Nullable G0>>>> p);
void f10(G1<? super @Nullable String> p);
void f11(G2<? super @Nullable String, G2<? super @Nullable Integer, G2<? super @Nullable G2<Integer, ? super @NotNull Integer>, ? super @NotNull 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);
void f12(G2<? super @NotNull String, G2<? extends @NotNull Integer, G2<? extends @NotNull G2<Integer, ? super @NotNull Integer>, ? extends @NotNull 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);
void f13(Integer @NotNull [] p);
void f14(int @NotNull [] p);
void f15(@NotNull Integer [] p);
void f16(@Nullable int [] p);
void f17(@Nullable Integer @Nullable [] p);
void f18(@Nullable int @Nullable [] p1, Integer @Nullable [] p2, @Nullable 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);
void f19(Integer @NotNull [] [] p);
void f20(int @NotNull [] @NotNull [] p);
void f21(@NotNull Integer [] [] [] p);
void f22(@NotNull int @NotNull [] @NotNull [] [] @NotNull [] p);
void f23(@NotNull Integer @NotNull [] [] @NotNull [] [] p);
void f24(@NotNull int @NotNull [] @NotNull [] p);
void f25(int [] @Nullable [] p);
void f26(Object [] @Nullable [] p1, int [] @Nullable [] p2, @Nullable int @Nullable [] @Nullable [] [] @Nullable [] p3);
void f27(@Nullable Object [] [] [] [] @Nullable [] 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);
void f28(G1<Integer @Nullable []> p);
void f29(G2<Integer, int @Nullable []> p);
void f30(G1<@Nullable Integer []> p);
void f31(G1<G1<@Nullable int []>> p);
void f32(G1<G2<G1<@NotNull Integer @NotNull []>, G1<@NotNull int @NotNull []>>> p);
void f33(G1<@NotNull int @NotNull []> p);
void f34(G1<Integer [] @NotNull []> p);
void f35(G2<Integer, int @NotNull [][]> p1, G1<@NotNull Integer @NotNull [] []> p2, G1<G1<@NotNull int []>> p3);
void f36(G1<@NotNull Integer @NotNull [] []> p);
void f37(G1<G1<@NotNull int [][][]>> p);
void f38(G1<G2<G1<@NotNull Integer @NotNull []>, G1<@NotNull int [] [] @NotNull []>>> p);
void f39(G1<@NotNull int @NotNull [] @NotNull [] []> 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 f40(G1<? extends Integer @NotNull []> p);
void f41(G2<? extends Integer, ? super int @NotNull []> p);
void f42(G1<? super @Nullable Integer []> p);
void f43(G1<? super G1<? super @Nullable int []>> p);
void f44(G1<? extends G2<G1<? super @Nullable Integer @Nullable []>, G1<? extends @Nullable int @Nullable []>>> p);
void f45(G1<? extends G2<? super G1<@Nullable Integer @Nullable []>, G1<? extends @NotNull int @NotNull []>>> p);
void f46(G1<? super @NotNull int @NotNull []> p);
void f47(G1<? extends Integer [] @NotNull []> p);
void f48(G2<? extends Integer, ? super int [] [] @NotNull []> p);
void f49(G1<? super @NotNull Integer [][][][][]> p1, G1<? super G1<? super @NotNull int @NotNull [][]>> p2, G2<? extends Integer, ? super int [] [] @NotNull []> p3);
void f50(G1<? super G1<? super @NotNull int @NotNull [][]>> p);
void f51(G1<? extends G2<G1<? super @NotNull Integer [] [] @NotNull []>, G1<? extends @NotNull int @NotNull [] @NotNull [] @NotNull []>>> p);
void f52(G1<? extends G2<? super G1<@NotNull Integer @NotNull [][][]>, G1<? extends @NotNull int [] @NotNull []>>> p);
void f53(G1<? super @NotNull int @NotNull [][]> 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);
void f54(G1<? extends G2<? super G1<@NotNull Integer @NotNull [][][]>, G1<? extends @NotNull int [] @NotNull []>>> p1, G1<@NotNull int @NotNull [] @NotNull [] []> p2, @NotNull Object [] [] [] [] @NotNull [] p3, @NotNull int @NotNull [] p4, G2<? super @NotNull String, G2<? extends @NotNull Integer, G2<? extends @NotNull G2<Integer, ? super @NotNull Integer>, ? extends @NotNull 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);
void f55(@NotNull String ... x);
void f56(String @NotNull ... x);
void f57(@NotNull String @NotNull ... x);
void f58(@NotNull int ... x);
void f59(int @NotNull ... x);
void f60(@NotNull int @Nullable ... 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 f61(@Nullable String [] ... x);
void f62(String @Nullable [] ... x);
void f63(String [] @Nullable ... x);
void f64(@NotNull String @NotNull [] @NotNull ... x);
void f65(@NotNull int [] ... x);
void f66(int @NotNull [] ... x);
void f67(int [] @NotNull ... x);
void f68(@NotNull int @NotNull [] @NotNull ... 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);
void f69(@NotNull String [] [] ... x);
void f70(String [] @Nullable [] ... x);
void f71(String [] [] [] @Nullable ... x);
void f72(@Nullable String @Nullable [] [] @NotNull [] @NotNull ... x);
void f73(@NotNull int [] @NotNull [] ... x);
void f74(int @NotNull [][][] @NotNull [] ... x);
void f75(int [] [] [] @NotNull ... x);
void f76(@NotNull int @NotNull [] [] @NotNull ... 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) {
public Test(G2<? super @NotNull String, G2<? extends @Nullable Integer, G2<? extends @Nullable G2<Integer, ? super @Nullable Integer>, ? extends @NotNull Integer>>> p1, Object [] @NotNull [] p2, int [] @NotNull [] p3, @NotNull int @NotNull [] @NotNull [] [] @NotNull [] p4, @NotNull int @NotNull [] [] @NotNull ... p5) {
}
}
File diff suppressed because one or more lines are too long
@@ -1,85 +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 f0(/*0*/ p: test.G1<@org.jetbrains.annotations.NotNull test.G0>!): kotlin.Unit
public abstract fun f1(/*0*/ p: test.G1<test.G1<test.G1<test.G1<@org.jetbrains.annotations.NotNull test.G0>!>!>!>!): kotlin.Unit
public abstract fun f10(/*0*/ p: test.G1<in @org.jetbrains.annotations.Nullable kotlin.String?>!): kotlin.Unit
public abstract fun f11(/*0*/ p: test.G2<in @org.jetbrains.annotations.Nullable kotlin.String?, test.G2<in @org.jetbrains.annotations.Nullable kotlin.Int?, test.G2<in @org.jetbrains.annotations.Nullable test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>?, in @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!): kotlin.Unit
public abstract fun f12(/*0*/ p: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!): kotlin.Unit
public abstract fun f13(/*0*/ p: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)): kotlin.Unit
public abstract fun f14(/*0*/ p: kotlin.IntArray!): kotlin.Unit
public abstract fun f15(/*0*/ @org.jetbrains.annotations.NotNull p: kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!): kotlin.Unit
public abstract fun f16(/*0*/ @org.jetbrains.annotations.Nullable p: kotlin.IntArray!): kotlin.Unit
public abstract fun f17(/*0*/ @org.jetbrains.annotations.Nullable p: (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)): kotlin.Unit
public abstract fun f18(/*0*/ @org.jetbrains.annotations.Nullable p1: kotlin.IntArray!, /*1*/ p2: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Int!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Int!>?), /*2*/ @org.jetbrains.annotations.Nullable p3: kotlin.IntArray!): kotlin.Unit
public abstract fun f19(/*0*/ p: kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!): kotlin.Unit
public abstract fun f2(/*0*/ p: test.G1<@org.jetbrains.annotations.NotNull kotlin.String>!): kotlin.Unit
public abstract fun f20(/*0*/ p: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)): kotlin.Unit
public abstract fun f21(/*0*/ @org.jetbrains.annotations.NotNull p: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!): kotlin.Unit
public abstract fun f22(/*0*/ @org.jetbrains.annotations.NotNull p: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>)): kotlin.Unit
public abstract fun f23(/*0*/ @org.jetbrains.annotations.NotNull p: kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>)>!): kotlin.Unit
public abstract fun f24(/*0*/ @org.jetbrains.annotations.NotNull p: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)): kotlin.Unit
public abstract fun f25(/*0*/ p: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)): kotlin.Unit
public abstract fun f26(/*0*/ p1: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.Any!>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.Any!>!>?), /*1*/ p2: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?), /*2*/ @org.jetbrains.annotations.Nullable p3: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)>!>?)): kotlin.Unit
public abstract fun f27(/*0*/ @org.jetbrains.annotations.Nullable p: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.Any?>!>!>!>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.Any?>!>!>!>!>?)): kotlin.Unit
public abstract fun f28(/*0*/ p: test.G1<(@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Int!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Int!>?)>!): kotlin.Unit
public abstract fun f29(/*0*/ p: test.G2<kotlin.Int!, kotlin.IntArray!>!): kotlin.Unit
public abstract fun f3(/*0*/ p: test.G2<@org.jetbrains.annotations.NotNull kotlin.String, test.G2<@org.jetbrains.annotations.NotNull kotlin.Int, test.G2<@org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, @org.jetbrains.annotations.NotNull kotlin.Int>, @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!): kotlin.Unit
public abstract fun f30(/*0*/ p: test.G1<kotlin.Array<(out) @org.jetbrains.annotations.Nullable 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 f32(/*0*/ p: test.G1<test.G2<test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<kotlin.IntArray!>!>!>!): kotlin.Unit
public abstract fun f33(/*0*/ p: test.G1<kotlin.IntArray!>!): kotlin.Unit
public abstract fun f34(/*0*/ p: test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>)>!): kotlin.Unit
public abstract fun f35(/*0*/ p1: test.G2<kotlin.Int!, kotlin.Array<(out) kotlin.IntArray!>!>!, /*1*/ p2: test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!, /*2*/ p3: test.G1<test.G1<kotlin.IntArray!>!>!): kotlin.Unit
public abstract fun f36(/*0*/ p: test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull 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 f38(/*0*/ p: test.G1<test.G2<test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!>!>!): kotlin.Unit
public abstract fun f39(/*0*/ p: test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!): kotlin.Unit
public abstract fun f4(/*0*/ p: test.G1<out @org.jetbrains.annotations.NotNull test.G0>!): kotlin.Unit
public abstract fun f40(/*0*/ p: test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!): kotlin.Unit
public abstract fun f41(/*0*/ p: test.G2<out kotlin.Int!, in kotlin.IntArray!>!): kotlin.Unit
public abstract fun f42(/*0*/ p: test.G1<in kotlin.Array<(out) @org.jetbrains.annotations.Nullable 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 abstract fun f44(/*0*/ p: test.G1<out test.G2<test.G1<in (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!, test.G1<out kotlin.IntArray!>!>!>!): kotlin.Unit
public abstract fun f45(/*0*/ p: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!, test.G1<out kotlin.IntArray!>!>!>!): kotlin.Unit
public abstract fun f46(/*0*/ p: test.G1<in kotlin.IntArray!>!): kotlin.Unit
public abstract fun f47(/*0*/ p: test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>)>!): kotlin.Unit
public abstract fun f48(/*0*/ p: test.G2<out kotlin.Int!, in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull 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) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!>!>!>!, /*1*/ p2: test.G1<in test.G1<in kotlin.Array<(out) kotlin.IntArray!>!>!>!, /*2*/ p3: test.G2<out kotlin.Int!, in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull 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 @org.jetbrains.annotations.NotNull test.G0>!>!>!>!): kotlin.Unit
public abstract fun f50(/*0*/ p: test.G1<in test.G1<in kotlin.Array<(out) kotlin.IntArray!>!>!>!): kotlin.Unit
public abstract fun f51(/*0*/ p: test.G1<out test.G2<test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>)>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>!>!>!): kotlin.Unit
public abstract fun f52(/*0*/ p: test.G1<out test.G2<in test.G1<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!>!): kotlin.Unit
public abstract fun f53(/*0*/ p: test.G1<in kotlin.Array<(out) kotlin.IntArray!>!>!): kotlin.Unit
public abstract fun f54(/*0*/ p1: test.G1<out test.G2<in test.G1<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!>!, /*1*/ p2: test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, /*2*/ @org.jetbrains.annotations.NotNull p3: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Any>!>!>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Any>!>!>!>!>), /*3*/ @org.jetbrains.annotations.NotNull p4: kotlin.IntArray!, /*4*/ p5: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!): kotlin.Unit
public abstract fun f55(/*0*/ @org.jetbrains.annotations.NotNull vararg x: @org.jetbrains.annotations.NotNull kotlin.String /*kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.String>!*/): kotlin.Unit
public abstract fun f56(/*0*/ vararg x: kotlin.String! /*(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.String!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.String!>)*/): kotlin.Unit
public abstract fun f57(/*0*/ @org.jetbrains.annotations.NotNull vararg x: @org.jetbrains.annotations.NotNull kotlin.String /*(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.String>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.String>)*/): kotlin.Unit
public abstract fun f58(/*0*/ @org.jetbrains.annotations.NotNull vararg x: kotlin.Int /*kotlin.IntArray!*/): kotlin.Unit
public abstract fun f59(/*0*/ vararg x: kotlin.Int /*kotlin.IntArray!*/): kotlin.Unit
public abstract fun f6(/*0*/ p1: test.G1<out @org.jetbrains.annotations.NotNull kotlin.String>!, /*1*/ p2: test.G1<test.G1<test.G1<test.G1<out @org.jetbrains.annotations.NotNull test.G0>!>!>!>!): kotlin.Unit
public abstract fun f60(/*0*/ @org.jetbrains.annotations.NotNull vararg x: kotlin.Int /*kotlin.IntArray!*/): kotlin.Unit
public abstract fun f61(/*0*/ @org.jetbrains.annotations.Nullable vararg x: kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.String?>! /*kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.String?>!>!*/): kotlin.Unit
public abstract fun f62(/*0*/ vararg x: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.String!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.String!>?) /*kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.String!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.String!>?)>!*/): kotlin.Unit
public abstract fun f63(/*0*/ vararg x: kotlin.Array<(out) kotlin.String!>! /*(@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.String!>!>..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.String!>!>?)*/): kotlin.Unit
public abstract fun f64(/*0*/ @org.jetbrains.annotations.NotNull vararg x: (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.String>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.String>) /*(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.String>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.String>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.String>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.String>)>)*/): kotlin.Unit
public abstract fun f65(/*0*/ @org.jetbrains.annotations.NotNull vararg x: kotlin.IntArray! /*kotlin.Array<(out) kotlin.IntArray!>!*/): kotlin.Unit
public abstract fun f66(/*0*/ vararg x: kotlin.IntArray! /*kotlin.Array<(out) kotlin.IntArray!>!*/): kotlin.Unit
public abstract fun f67(/*0*/ vararg x: kotlin.IntArray! /*(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)*/): kotlin.Unit
public abstract fun f68(/*0*/ @org.jetbrains.annotations.NotNull vararg x: kotlin.IntArray! /*(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)*/): kotlin.Unit
public abstract fun f69(/*0*/ @org.jetbrains.annotations.NotNull vararg x: kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.String>!>! /*kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.String>!>!>!*/): kotlin.Unit
public abstract fun f7(/*0*/ p: test.G2<out @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, out @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!): kotlin.Unit
public abstract fun f70(/*0*/ vararg x: (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.String!>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.String!>!>?) /*kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.String!>!>?..@org.jetbrains.annotations.Nullable 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!>!>!>! /*(@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.String!>!>!>!>..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.String!>!>!>!>?)*/): kotlin.Unit
public abstract fun f72(/*0*/ @org.jetbrains.annotations.Nullable vararg x: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.String?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.String?>?)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.String?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.String?>?)>!>) /*(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.String?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.String?>?)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.String?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.String?>?)>!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.String?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.String?>?)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.String?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.String?>?)>!>)>)*/): kotlin.Unit
public abstract fun f73(/*0*/ @org.jetbrains.annotations.NotNull vararg x: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>) /*kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!*/): kotlin.Unit
public abstract fun f74(/*0*/ vararg x: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>) /*kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>)>!*/): kotlin.Unit
public abstract fun f75(/*0*/ vararg x: kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>! /*(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>)*/): kotlin.Unit
public abstract fun f76(/*0*/ @org.jetbrains.annotations.NotNull vararg x: kotlin.Array<(out) kotlin.IntArray!>! /*(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)*/): kotlin.Unit
public abstract fun f8(/*0*/ p: test.G1<in @org.jetbrains.annotations.Nullable test.G0?>!): kotlin.Unit
public abstract fun f9(/*0*/ p: test.G1<test.G1<test.G1<test.G1<in @org.jetbrains.annotations.Nullable 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!>!>?)*/)
public constructor Test(/*0*/ p1: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.Nullable kotlin.Int?, test.G2<out @org.jetbrains.annotations.Nullable test.G2<kotlin.Int!, in @org.jetbrains.annotations.Nullable kotlin.Int?>?, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!, /*1*/ p2: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Any!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Any!>!>), /*2*/ p3: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>), /*3*/ @org.jetbrains.annotations.NotNull p4: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>), /*4*/ @org.jetbrains.annotations.NotNull vararg p5: kotlin.Array<(out) kotlin.IntArray!>! /*(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)*/)
}
}