K2: repeat K1 representation for flexible type parameters
This commit changes the behavior of KT-59138 effectively declining it in 2.0. However, we plan to implement KT-59138 behavior under a feature flag in 2.0 (see KT-66447), and switch this feature on version 2.x. Also, this commit implements the LC resolution about postponing KT-57014 change. We don't have KT-57014 described behavior in 2.0 anymore. However, we plan to implement a deprecation warning here, see KT-65578. After this commit, 6 diagnostic tests become incorrectly broken: - 5 tests from PurelyImplementedCollection group - a test platformTypes/nullableTypeArgument.kt This commit also breaks currently fixed-in-k2 KT-50134 (it is fixed again in the following commits), as well as KT-58933 (it will remain not fixed till we enable KT-59138 behavior again). #KT-65596 In Progress #KT-57014 In Progress #KT-58933 Submitted
This commit is contained in:
committed by
Space Team
parent
7fd46f1450
commit
81414d758d
+1
-1
@@ -10,7 +10,7 @@ FILE fqName:<root> fileName:/box.kt
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (filter: @[FlexibleNullability] <root>.Condition<in @[FlexibleNullability] kotlin.String?>?) declared in <root>.J' type=<root>.J origin=null
|
||||
filter: TYPE_OP type=<root>.Condition<kotlin.Any?>? origin=SAM_CONVERSION typeOperand=<root>.Condition<kotlin.Any?>?
|
||||
TYPE_OP type=kotlin.Function1<@[FlexibleNullability] kotlin.Any?, kotlin.Boolean>? origin=IMPLICIT_CAST typeOperand=kotlin.Function1<@[FlexibleNullability] kotlin.Any?, kotlin.Boolean>?
|
||||
TYPE_OP type=kotlin.Function1<kotlin.Any?, kotlin.Boolean>? origin=IMPLICIT_CAST typeOperand=kotlin.Function1<kotlin.Any?, kotlin.Boolean>?
|
||||
GET_VAR 'filter: kotlin.Function1<kotlin.String, kotlin.Boolean>? declared in <root>.foo' type=kotlin.Function1<kotlin.String, kotlin.Boolean>? origin=null
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (filter: kotlin.Function1<kotlin.String, kotlin.Boolean>?): kotlin.String declared in <root>'
|
||||
CONST String type=kotlin.String value="OK"
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ FILE: Eq.kt
|
||||
public get(): R|lib/a/A<R, S>|
|
||||
|
||||
public open override fun withL(l: R|kotlin/Int|): R|lib/a/C.WithL<R, S>| {
|
||||
^withL Q|lib/a/C|.R|lib/a/C.MyWithL.MyWithL|<R|R|, R|S|>()
|
||||
^withL Q|lib/a/C|.R|lib/a/C.MyWithL.MyWithL|<R|R!|, R|S!|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ fun <R> main(a: ReturnType<R>) {
|
||||
takeNullableStringAndKNullable(x1)
|
||||
takeNotNullStringAndNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x1<!>)
|
||||
takeNullableStringAndNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x1<!>)
|
||||
takeNotNullString(a.foo41.foo411)
|
||||
takeNotNullString(<!ARGUMENT_TYPE_MISMATCH!>a.foo41.foo411<!>)
|
||||
|
||||
val x2 = <!DEBUG_INFO_EXPRESSION_TYPE("ReturnType.A<kotlin.String?, R!!>..ReturnType.A<kotlin.String?, R!!>?!")!>a.foo2()<!>
|
||||
takeNotNullStringAndKNullable(<!ARGUMENT_TYPE_MISMATCH!>x2<!>)
|
||||
|
||||
Vendored
+1
-1
@@ -39,7 +39,7 @@ fun <R> main(a: ReturnTypeWithWarnings<R>) {
|
||||
takeNullableStringAndKNullable(x1)
|
||||
takeNotNullStringAndNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x1<!>)
|
||||
takeNullableStringAndNotNullK(<!ARGUMENT_TYPE_MISMATCH!>x1<!>)
|
||||
takeNotNullString(a.foo41.foo411)
|
||||
takeNotNullString(<!ARGUMENT_TYPE_MISMATCH!>a.foo41.foo411<!>)
|
||||
|
||||
val x2 = <!DEBUG_INFO_EXPRESSION_TYPE("ReturnTypeWithWarnings.A<kotlin.String?, R!!>..ReturnTypeWithWarnings.A<kotlin.String?, R!!>?!")!>a.foo2()<!>
|
||||
takeNotNullStringAndKNullable(<!ARGUMENT_TYPE_MISMATCH!>x2<!>)
|
||||
|
||||
+3
-3
@@ -66,10 +66,10 @@ abstract class A<T> : Provider<T> {
|
||||
abstract class B<T> : Provider<T> {
|
||||
override fun get(): T & Any = null!!
|
||||
override fun getNullable(): T? = null!!
|
||||
override fun set(x: T & Any) {} // False positive in K1
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> fun set(x: T & Any) {} // False positive in K1
|
||||
override fun setNullable(x: T?) {}
|
||||
|
||||
override fun getSet(x: T & Any): T & Any = x // False positive in K1
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> fun getSet(x: T & Any): T & Any = x // False positive in K1
|
||||
override fun getSetNullable(x: T?): T? = x
|
||||
}
|
||||
|
||||
@@ -79,6 +79,6 @@ abstract class C<T> : Provider<T> {
|
||||
}
|
||||
|
||||
abstract class D<T> : Provider<T> {
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun getSet(x: T & Any): T = x<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!> // False positive in K1
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> fun getSet(x: T & Any): T = x<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!> // False positive in K1
|
||||
override fun getSetNullable(x: T?): T = x!!
|
||||
}
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
// !LANGUAGE: +DefinitelyNonNullableTypes +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||
|
||||
// FILE: A.java
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
public interface A<T> {
|
||||
public T foo(T x) { return x; }
|
||||
@NotNull
|
||||
public T bar(@NotNull T x) {}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
interface B<T1> : A<T1> {
|
||||
override fun foo(x: T1): T1
|
||||
override fun bar(x: T1 & Any): T1 & Any
|
||||
}
|
||||
|
||||
interface C<T2> : A<T2> {
|
||||
override fun foo(x: T2 & Any): T2 & Any
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> fun bar(x: T2): T2
|
||||
}
|
||||
|
||||
interface D : A<String?> {
|
||||
override fun foo(x: String?): String?
|
||||
override fun bar(x: String): String
|
||||
}
|
||||
|
||||
interface E : A<String> {
|
||||
override fun foo(x: String): String
|
||||
override fun bar(x: String): String
|
||||
}
|
||||
|
||||
interface F : A<String?> {
|
||||
override fun foo(x: String): String
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> fun bar(x: String?): String?
|
||||
}
|
||||
|
||||
interface G<T3 : Any> : A<T3> {
|
||||
override fun foo(x: T3): T3
|
||||
override fun bar(x: T3): T3
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +DefinitelyNonNullableTypes +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||
|
||||
// FILE: A.java
|
||||
|
||||
+8
-8
@@ -73,14 +73,14 @@ fun test() {
|
||||
}
|
||||
val ret2 = build {
|
||||
emit(if (true) "" else null)
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select2(get(), getIn())<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select2(get(), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select2(Test.foo(get()), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select2(Test.foo(get()), getIn())<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select3(get(), getIn())<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select3(get(), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select3(Test.foo(get()), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>select3(Test.foo(get()), getIn())<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(get(), getIn())<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(get(), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(Test.foo(get()), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(Test.foo(get()), getIn())<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select3(get(), getIn())<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select3(get(), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select3(Test.foo(get()), Test.foo(getIn()))<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select3(Test.foo(get()), getIn())<!>
|
||||
""
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ val xExplicit: X = Test().findViewById(0)
|
||||
val xCast = Test().findViewById(0) as X
|
||||
|
||||
val xCastExplicitType = Test().findViewById<X>(0) as X
|
||||
val xSafeCastExplicitType = Test().findViewById<X>(0) <!USELESS_CAST!>as? X<!>
|
||||
val xSafeCastExplicitType = Test().findViewById<X>(0) as? X
|
||||
|
||||
val yExplicit: Y<String> = Test().findViewById(0)
|
||||
val yCast = Test().findViewById(0) as Y<String>
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ fun <K : Builder<K>> testTypeParam(builder: Builder<K>) {
|
||||
}
|
||||
|
||||
fun testStarJava(builder: JavaBuilder<*>) {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("CapturedType(*)!!..CapturedType(*)?!")!>builder.test()<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("CapturedType(*)..CapturedType(*)?!")!>builder.test()<!>
|
||||
|
||||
builder
|
||||
.test()
|
||||
|
||||
+2
-2
@@ -26,10 +26,10 @@ fun test() {
|
||||
}
|
||||
|
||||
fun testJava(appender: JavaWriterAppender) {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("CapturedType(*)!!..CapturedType(*)?!")!>appender.newBuilder()<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("CapturedType(*)..CapturedType(*)?!")!>appender.newBuilder()<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("JavaWriterAppender.Builder1<CapturedType(*)>")!>appender.Builder1()<!>
|
||||
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("CapturedType(*)!!..CapturedType(*)?!")!>appender.intersectTwoSelfTypes()<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("CapturedType(*)..CapturedType(*)?!")!>appender.intersectTwoSelfTypes()<!>
|
||||
}
|
||||
|
||||
object WriterAppender {
|
||||
|
||||
+6
-6
@@ -7,13 +7,13 @@ B2:
|
||||
[IntersectionOverride]: public open override fun remove(p0: R|@EnhancedNullability kotlin/Int|): R|kotlin/Boolean| from Use site scope of /B2 [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|@EnhancedNullability kotlin/Int|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/ArrayList] for type B2 [id: 1]
|
||||
[Enhancement]: public open fun remove(p0: R|@EnhancedNullability E|): R|kotlin/Boolean| from Java enhancement scope for java/util/ArrayList [id: 2]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type java/util/ArrayList<E> [id: 3]
|
||||
[IntersectionOverride]: public open override fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Java enhancement scope for java/util/AbstractList [id: 4]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/AbstractCollection] for type java/util/AbstractList<E> [id: 5]
|
||||
[Enhancement]: public open fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Java enhancement scope for java/util/AbstractCollection [id: 6]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableCollection] for type java/util/AbstractCollection<E> [id: 7]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|E!|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type java/util/ArrayList<E> [id: 3]
|
||||
[IntersectionOverride]: public open override fun remove(p0: R|E!|): R|kotlin/Boolean| from Java enhancement scope for java/util/AbstractList [id: 4]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|E!|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/AbstractCollection] for type java/util/AbstractList<E> [id: 5]
|
||||
[Enhancement]: public open fun remove(p0: R|E!|): R|kotlin/Boolean| from Java enhancement scope for java/util/AbstractCollection [id: 6]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|E!|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableCollection] for type java/util/AbstractCollection<E> [id: 7]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableCollection [id: 8]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 9]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|E!|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 9]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableList [id: 10]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|E|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableCollection] for type kotlin/collections/MutableList<E> [id: 11]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableCollection [id: 8]
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
// ISSUE: KT-59138
|
||||
// SKIP_TXT
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass {
|
||||
public static <K> K simpleId(K k) { // fun <K> simpleId(k: K & Any..K?): K & Any..K? =
|
||||
return k;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
fun takeN(n: Number?): Int = 1
|
||||
|
||||
fun bar(n: Number?) {
|
||||
fun takeN(n: Number): String = ""
|
||||
|
||||
// in K1, it was resolved to nullable takeN
|
||||
// in K2, it would be resolved to not-nullable and may fail with NPE
|
||||
takeN(JavaClass.simpleId(n)).<!UNRESOLVED_REFERENCE!>div<!>(1)
|
||||
takeN(JavaClass.simpleId(n)).length
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-59138
|
||||
// SKIP_TXT
|
||||
// FILE: JavaClass.java
|
||||
|
||||
+3
-3
@@ -5,8 +5,8 @@ A:
|
||||
[Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/AbstractMutableList [id: 2]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type kotlin/collections/AbstractMutableList<E> [id: 3]
|
||||
[Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override operator fun removeAt(p0: R|kotlin/Int|): R|ft<E & Any, E?>| from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type kotlin/collections/AbstractMutableList<E> [id: 5]
|
||||
[Enhancement]: public open operator fun removeAt(p0: R|kotlin/Int|): R|ft<E & Any, E?>| from Java enhancement scope for java/util/AbstractList [id: 6]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|ft<E & Any, E?>| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 7]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override operator fun removeAt(p0: R|kotlin/Int|): R|E!| from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type kotlin/collections/AbstractMutableList<E> [id: 5]
|
||||
[Enhancement]: public open operator fun removeAt(p0: R|kotlin/Int|): R|E!| from Java enhancement scope for java/util/AbstractList [id: 6]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E!| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 7]
|
||||
[Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
|
||||
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@ D:
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Use site scope of /D [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Use site scope of /C [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Substitution scope for [Java enhancement scope for /A] for type C [id: 0]
|
||||
[Enhancement]: public open fun foo(x: R|kotlin/Int!|): R|ft<T & Any, T?>| from Java enhancement scope for /A [id: 1]
|
||||
[Enhancement]: public open fun foo(x: R|kotlin/Int!|): R|T!| from Java enhancement scope for /A [id: 1]
|
||||
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /D [id: 0]
|
||||
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /B [id: 0]
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@ D:
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Use site scope of /D [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Java enhancement scope for /C [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Substitution scope for [Java enhancement scope for /A] for type C [id: 0]
|
||||
[Enhancement]: public open fun foo(x: R|ft<T & Any, T?>|): R|kotlin/String!| from Java enhancement scope for /A [id: 1]
|
||||
[Enhancement]: public open fun foo(x: R|T!|): R|kotlin/String!| from Java enhancement scope for /A [id: 1]
|
||||
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /D [id: 0]
|
||||
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /B [id: 0]
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@ D:
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Use site scope of /D [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Use site scope of /C [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Substitution scope for [Java enhancement scope for /A] for type C [id: 0]
|
||||
[Enhancement]: public open fun foo(x: R|ft<T & Any, T?>|): R|kotlin/String!| from Java enhancement scope for /A [id: 1]
|
||||
[Enhancement]: public open fun foo(x: R|T!|): R|kotlin/String!| from Java enhancement scope for /A [id: 1]
|
||||
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /D [id: 0]
|
||||
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /B [id: 0]
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ E:
|
||||
[IntersectionOverride]: public? open override fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /E [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Use site scope of /C [id: 1]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int!|): R|kotlin/String!| from Substitution scope for [Java enhancement scope for /A] for type C [id: 1]
|
||||
[Enhancement]: public open fun foo(x: R|ft<T & Any, T?>|): R|kotlin/String!| from Java enhancement scope for /A [id: 2]
|
||||
[Enhancement]: public open fun foo(x: R|T!|): R|kotlin/String!| from Java enhancement scope for /A [id: 2]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int|): R|kotlin/String| from Use site scope of /D [id: 3]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun foo(x: R|kotlin/Int|): R|kotlin/String| from Substitution scope for [Use site scope of /B] for type D [id: 3]
|
||||
[Source]: public open fun foo(x: R|T|): R|kotlin/String| from Use site scope of /B [id: 4]
|
||||
|
||||
Vendored
+1
-1
@@ -23,7 +23,7 @@ fun <V> SLRUMap<V>.getOrPut(value: V, l: List<V>) {
|
||||
|
||||
takeE(<!ARGUMENT_TYPE_MISMATCH!>value<!>)
|
||||
takeEList(<!ARGUMENT_TYPE_MISMATCH!>l<!>)
|
||||
takeE(id(value))
|
||||
takeE(<!ARGUMENT_TYPE_MISMATCH!>id(value)<!>)
|
||||
|
||||
if (value != null) {
|
||||
takeV(value)
|
||||
|
||||
+2
@@ -5,3 +5,5 @@
|
||||
/main.kt:(133,138): error: Argument type mismatch: actual type is 'V', but 'E & Any' was expected.
|
||||
|
||||
/main.kt:(154,155): error: Argument type mismatch: actual type is 'kotlin.collections.List<V>', but 'kotlin.collections.(Mutable)List<@NotNull() E & Any>' was expected.
|
||||
|
||||
/main.kt:(167,176): error: Argument type mismatch: actual type is 'V!', but 'E & Any' was expected.
|
||||
|
||||
Vendored
+1
-1
@@ -24,7 +24,7 @@ fun <V> SLRUMap<V>.getOrPut(value: V, l: List<V>) {
|
||||
|
||||
takeE(<!ARGUMENT_TYPE_MISMATCH!>value<!>)
|
||||
takeEList(<!ARGUMENT_TYPE_MISMATCH!>l<!>)
|
||||
takeE(id(value))
|
||||
takeE(<!ARGUMENT_TYPE_MISMATCH!>id(value)<!>)
|
||||
|
||||
if (value != null) {
|
||||
takeV(value)
|
||||
|
||||
+2
-2
@@ -31,12 +31,12 @@ public class Foo<T> {
|
||||
|
||||
// FILE: main.kt
|
||||
fun <T> bar(n: Number?, d: T, e: T) {
|
||||
val a: Number = Foo.simpleId(n)
|
||||
val a: Number = <!INITIALIZER_TYPE_MISMATCH!>Foo.simpleId(n)<!>
|
||||
val b: Number? = Foo.simpleId(n)
|
||||
val c = Foo.simpleId(n)
|
||||
|
||||
val x4 = Foo(if (true) 10 else null)
|
||||
val x5: Number = x4.produceT()
|
||||
val x5: Number = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x4.produceT()<!>
|
||||
val x6: Number? = x4.produceT()
|
||||
val x7 = x4.produceT()
|
||||
val x8 = x4.produceNotNullT()
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
// ISSUE: KT-58933
|
||||
// FILE: J.java
|
||||
public interface J<T> {
|
||||
void simple(T t);
|
||||
void box(Box<T> box);
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
class Box<T>
|
||||
|
||||
class K<T> : J<T> {
|
||||
override fun simple(t: T & Any) {}
|
||||
override fun box(box: Box<T & Any>) {}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-58933
|
||||
// FILE: J.java
|
||||
public interface J<T> {
|
||||
|
||||
+1
-1
@@ -4,6 +4,6 @@ interface Foo
|
||||
|
||||
fun test() {
|
||||
var nullable: Foo? = null
|
||||
val foo: Collection<Foo> = java.util.Collections.singleton(nullable)
|
||||
val foo: Collection<Foo> = <!INITIALIZER_TYPE_MISMATCH!>java.util.Collections.singleton(nullable)<!>
|
||||
val foo1: Collection<Foo> = java.util.Collections.singleton(nullable!!)
|
||||
}
|
||||
|
||||
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
// ISSUE: KT-57014
|
||||
// FULL_JDK
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
import java.util.function.Supplier
|
||||
|
||||
fun main() {
|
||||
val sam = Supplier<String> {
|
||||
<!ARGUMENT_TYPE_MISMATCH!>foo()<!>
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(): String? = null
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-57014
|
||||
// FULL_JDK
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ FILE: test2.kt
|
||||
}
|
||||
FILE: test3.kt
|
||||
public final fun test3(): R|ft<kotlin/collections/MutableMap<kotlin/String!, kotlin/String!>, kotlin/collections/Map<kotlin/String!, kotlin/String!>?>| {
|
||||
^test3 Q|java/util/Map|.R|java/util/Map.of*s|<R|kotlin/String|, R|kotlin/String|>()
|
||||
^test3 Q|java/util/Map|.R|java/util/Map.of*s|<R|kotlin/String!|, R|kotlin/String!|>()
|
||||
}
|
||||
FILE: test4.kt
|
||||
public final fun test4(): R|kotlin/Int| {
|
||||
|
||||
+8
-8
@@ -40,15 +40,15 @@ FILE fqName:<root> fileName:/constructorWithOwnTypeParametersCall.kt
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:testJava visibility:public modality:FINAL <> () returnType:<root>.J1.J2<kotlin.Double, kotlin.Int>
|
||||
FUN name:testJava visibility:public modality:FINAL <> () returnType:<root>.J1.J2<@[FlexibleNullability] kotlin.Double?, @[FlexibleNullability] kotlin.Int?>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testJava (): <root>.J1.J2<kotlin.Double, kotlin.Int> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> <Y2> () declared in <root>.J1.J2' type=<root>.J1.J2<kotlin.Double, kotlin.Int> origin=null
|
||||
<class: X2>: kotlin.Double
|
||||
<Y2>: kotlin.CharSequence
|
||||
$outer: CONSTRUCTOR_CALL 'public constructor <init> <Y1> () declared in <root>.J1' type=<root>.J1<kotlin.Int> origin=null
|
||||
<class: X1>: kotlin.Int
|
||||
<Y1>: kotlin.String
|
||||
RETURN type=kotlin.Nothing from='public final fun testJava (): <root>.J1.J2<@[FlexibleNullability] kotlin.Double?, @[FlexibleNullability] kotlin.Int?> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> <Y2> () declared in <root>.J1.J2' type=<root>.J1.J2<@[FlexibleNullability] kotlin.Double?, @[FlexibleNullability] kotlin.Int?> origin=null
|
||||
<class: X2>: @[FlexibleNullability] kotlin.Double?
|
||||
<Y2>: @[FlexibleNullability] kotlin.CharSequence?
|
||||
$outer: CONSTRUCTOR_CALL 'public constructor <init> <Y1> () declared in <root>.J1' type=<root>.J1<@[FlexibleNullability] kotlin.Int?> origin=null
|
||||
<class: X1>: @[FlexibleNullability] kotlin.Int?
|
||||
<Y1>: @[FlexibleNullability] kotlin.String?
|
||||
FUN name:testKotlin visibility:public modality:FINAL <> () returnType:<root>.K1.K2<kotlin.String, kotlin.Int>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testKotlin (): <root>.K1.K2<kotlin.String, kotlin.Int> declared in <root>'
|
||||
|
||||
+2
-3
@@ -16,11 +16,10 @@ class K1<T1 : Number> {
|
||||
|
||||
}
|
||||
|
||||
fun testJava(): J2<Double, Int> {
|
||||
return J1<Int, String>().J2<Double, CharSequence>()
|
||||
fun testJava(): J2<@FlexibleNullability Double?, @FlexibleNullability Int?> {
|
||||
return J1<@FlexibleNullability Int?, @FlexibleNullability String?>().J2<@FlexibleNullability Double?, @FlexibleNullability CharSequence?>()
|
||||
}
|
||||
|
||||
fun testKotlin(): K2<String, Int> {
|
||||
return K1<Int>().K2<String>()
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
FILE fqName:<root> fileName:/samConversionToGeneric.kt
|
||||
FUN name:test1 visibility:public modality:FINAL <> () returnType:<root>.J<kotlin.String>
|
||||
FUN name:test1 visibility:public modality:FINAL <> () returnType:<root>.J<@[FlexibleNullability] kotlin.String?>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1 (): <root>.J<kotlin.String> declared in <root>'
|
||||
TYPE_OP type=<root>.J<kotlin.String> origin=SAM_CONVERSION typeOperand=<root>.J<kotlin.String>
|
||||
RETURN type=kotlin.Nothing from='public final fun test1 (): <root>.J<@[FlexibleNullability] kotlin.String?> declared in <root>'
|
||||
TYPE_OP type=<root>.J<@[FlexibleNullability] kotlin.String?> origin=SAM_CONVERSION typeOperand=<root>.J<@[FlexibleNullability] kotlin.String?>
|
||||
FUN_EXPR type=kotlin.Function1<@[FlexibleNullability] kotlin.String?, @[FlexibleNullability] kotlin.String?> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (x:@[FlexibleNullability] kotlin.String?) returnType:@[FlexibleNullability] kotlin.String?
|
||||
VALUE_PARAMETER name:x index:0 type:@[FlexibleNullability] kotlin.String?
|
||||
|
||||
+2
-3
@@ -1,8 +1,8 @@
|
||||
fun test1(): J<String> {
|
||||
fun test1(): J<@FlexibleNullability String?> {
|
||||
return local fun <anonymous>(x: @FlexibleNullability String?): @FlexibleNullability String? {
|
||||
return x
|
||||
}
|
||||
/*-> J<String> */
|
||||
/*-> J<@FlexibleNullability String?> */
|
||||
}
|
||||
|
||||
fun test10(fn: Function1<Int, String>) {
|
||||
@@ -49,4 +49,3 @@ fun test8(efn: @ExtensionFunctionType Function1<String, String>): J<@FlexibleNul
|
||||
fun test9(efn: @ExtensionFunctionType Function1<String, String>) {
|
||||
bar<@FlexibleNullability String?>(j = efn /*-> J<@FlexibleNullability String?> */)
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ FILE fqName:<root> fileName:/AllCandidates.kt
|
||||
CALL 'public final fun apply <T> (block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.apply, kotlin.Unit>): T of kotlin.apply declared in kotlin' type=@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>? origin=null
|
||||
<T>: @[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>?
|
||||
$receiver: CALL 'public open fun nameNotFound <R> (): @[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] R of <root>.OverloadResolutionResultsImpl.nameNotFound?>? declared in <root>.OverloadResolutionResultsImpl' type=@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>? origin=null
|
||||
<R>: A of <root>.allCandidatesResult
|
||||
<R>: @[FlexibleNullability] A of <root>.allCandidatesResult?
|
||||
block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>?, kotlin.Unit> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>?) returnType:kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER name:$this$apply type:@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>?
|
||||
|
||||
@@ -21,7 +21,7 @@ class ResolvedCall<C : Any?> {
|
||||
}
|
||||
|
||||
private fun <A : Any?> allCandidatesResult(allCandidates: Collection<MyCandidate>): @FlexibleNullability OverloadResolutionResultsImpl<@FlexibleNullability A?>? {
|
||||
return nameNotFound<A>().apply<@FlexibleNullability OverloadResolutionResultsImpl<@FlexibleNullability A?>?>(block = local fun @FlexibleNullability OverloadResolutionResultsImpl<@FlexibleNullability A?>?.<anonymous>() {
|
||||
return nameNotFound<@FlexibleNullability A?>().apply<@FlexibleNullability OverloadResolutionResultsImpl<@FlexibleNullability A?>?>(block = local fun @FlexibleNullability OverloadResolutionResultsImpl<@FlexibleNullability A?>?.<anonymous>() {
|
||||
$this$apply.setAllCandidates(allCandidates = allCandidates.map<MyCandidate, ResolvedCall<A>>(transform = local fun <anonymous>(it: MyCandidate): ResolvedCall<A> {
|
||||
return it.<get-resolvedCall>() as ResolvedCall<A>
|
||||
}
|
||||
|
||||
+18
-18
@@ -1,29 +1,29 @@
|
||||
FILE fqName:<root> fileName:/javaConstructorWithTypeParameters.kt
|
||||
FUN name:test1 visibility:public modality:FINAL <> () returnType:<root>.J1<kotlin.Int>
|
||||
FUN name:test1 visibility:public modality:FINAL <> () returnType:<root>.J1<@[FlexibleNullability] kotlin.Int?>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1 (): <root>.J1<kotlin.Int> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.J1' type=<root>.J1<kotlin.Int> origin=null
|
||||
<class: T1>: kotlin.Int
|
||||
FUN name:test2 visibility:public modality:FINAL <> () returnType:<root>.J1<kotlin.Int>
|
||||
RETURN type=kotlin.Nothing from='public final fun test1 (): <root>.J1<@[FlexibleNullability] kotlin.Int?> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.J1' type=<root>.J1<@[FlexibleNullability] kotlin.Int?> origin=null
|
||||
<class: T1>: @[FlexibleNullability] kotlin.Int?
|
||||
FUN name:test2 visibility:public modality:FINAL <> () returnType:<root>.J1<@[FlexibleNullability] kotlin.Int?>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2 (): <root>.J1<kotlin.Int> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> <X1> (x1: @[FlexibleNullability] X1 of <root>.J1.<init>?) declared in <root>.J1' type=<root>.J1<kotlin.Int> origin=null
|
||||
<class: T1>: kotlin.Int
|
||||
<X1>: kotlin.Int
|
||||
RETURN type=kotlin.Nothing from='public final fun test2 (): <root>.J1<@[FlexibleNullability] kotlin.Int?> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> <X1> (x1: @[FlexibleNullability] X1 of <root>.J1.<init>?) declared in <root>.J1' type=<root>.J1<@[FlexibleNullability] kotlin.Int?> origin=null
|
||||
<class: T1>: @[FlexibleNullability] kotlin.Int?
|
||||
<X1>: @[FlexibleNullability] kotlin.Int?
|
||||
x1: CONST Int type=kotlin.Int value=1
|
||||
FUN name:test3 visibility:public modality:FINAL <> (j1:<root>.J1<kotlin.Any>) returnType:<root>.J1.J2<kotlin.Int, kotlin.Any>
|
||||
FUN name:test3 visibility:public modality:FINAL <> (j1:<root>.J1<kotlin.Any>) returnType:<root>.J1.J2<@[FlexibleNullability] kotlin.Int?, kotlin.Any>
|
||||
VALUE_PARAMETER name:j1 index:0 type:<root>.J1<kotlin.Any>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3 (j1: <root>.J1<kotlin.Any>): <root>.J1.J2<kotlin.Int, kotlin.Any> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.J1.J2' type=<root>.J1.J2<kotlin.Int, kotlin.Any> origin=null
|
||||
<class: T2>: kotlin.Int
|
||||
RETURN type=kotlin.Nothing from='public final fun test3 (j1: <root>.J1<kotlin.Any>): <root>.J1.J2<@[FlexibleNullability] kotlin.Int?, kotlin.Any> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.J1.J2' type=<root>.J1.J2<@[FlexibleNullability] kotlin.Int?, kotlin.Any> origin=null
|
||||
<class: T2>: @[FlexibleNullability] kotlin.Int?
|
||||
$outer: GET_VAR 'j1: <root>.J1<kotlin.Any> declared in <root>.test3' type=<root>.J1<kotlin.Any> origin=null
|
||||
FUN name:test4 visibility:public modality:FINAL <> (j1:<root>.J1<kotlin.Any>) returnType:<root>.J1.J2<kotlin.Int, kotlin.Any>
|
||||
FUN name:test4 visibility:public modality:FINAL <> (j1:<root>.J1<kotlin.Any>) returnType:<root>.J1.J2<@[FlexibleNullability] kotlin.Int?, kotlin.Any>
|
||||
VALUE_PARAMETER name:j1 index:0 type:<root>.J1<kotlin.Any>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4 (j1: <root>.J1<kotlin.Any>): <root>.J1.J2<kotlin.Int, kotlin.Any> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> <X2> (x2: @[FlexibleNullability] X2 of <root>.J1.J2.<init>?) declared in <root>.J1.J2' type=<root>.J1.J2<kotlin.Int, kotlin.Any> origin=null
|
||||
<class: T2>: kotlin.Int
|
||||
<X2>: kotlin.Int
|
||||
RETURN type=kotlin.Nothing from='public final fun test4 (j1: <root>.J1<kotlin.Any>): <root>.J1.J2<@[FlexibleNullability] kotlin.Int?, kotlin.Any> declared in <root>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> <X2> (x2: @[FlexibleNullability] X2 of <root>.J1.J2.<init>?) declared in <root>.J1.J2' type=<root>.J1.J2<@[FlexibleNullability] kotlin.Int?, kotlin.Any> origin=null
|
||||
<class: T2>: @[FlexibleNullability] kotlin.Int?
|
||||
<X2>: @[FlexibleNullability] kotlin.Int?
|
||||
$outer: GET_VAR 'j1: <root>.J1<kotlin.Any> declared in <root>.test4' type=<root>.J1<kotlin.Any> origin=null
|
||||
x2: CONST Int type=kotlin.Int value=1
|
||||
|
||||
+8
-8
@@ -1,15 +1,15 @@
|
||||
fun test1(): J1<Int> {
|
||||
return J1<Int>()
|
||||
fun test1(): J1<@FlexibleNullability Int?> {
|
||||
return J1<@FlexibleNullability Int?>()
|
||||
}
|
||||
|
||||
fun test2(): J1<Int> {
|
||||
return J1<Int, Int>(x1 = 1)
|
||||
fun test2(): J1<@FlexibleNullability Int?> {
|
||||
return J1<@FlexibleNullability Int?, @FlexibleNullability Int?>(x1 = 1)
|
||||
}
|
||||
|
||||
fun test3(j1: J1<Any>): J2<Int, Any> {
|
||||
return j1.J2<Int>()
|
||||
fun test3(j1: J1<Any>): J2<@FlexibleNullability Int?, Any> {
|
||||
return j1.J2<@FlexibleNullability Int?>()
|
||||
}
|
||||
|
||||
fun test4(j1: J1<Any>): J2<Int, Any> {
|
||||
return j1.J2<Int, Int>(x2 = 1)
|
||||
fun test4(j1: J1<Any>): J2<@FlexibleNullability Int?, Any> {
|
||||
return j1.J2<@FlexibleNullability Int?, @FlexibleNullability Int?>(x2 = 1)
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
public abstract class ClassWithTypePExtendsIterableP<P : R|kotlin/Any!|> : R|kotlin/Any|, R|kotlin/collections/MutableIterable<ft<P & Any, P?>>| {
|
||||
public abstract class ClassWithTypePExtendsIterableP<P : R|kotlin/Any!|> : R|kotlin/Any|, R|kotlin/collections/MutableIterable<P!>| {
|
||||
public constructor<P : R|kotlin/Any!|>(): R|test/ClassWithTypePExtendsIterableP<P>|
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
public final class ClassWithTypePP<P : R|kotlin/Any!|, Q : R|ft<P & Any, P?>|> : R|kotlin/Any| {
|
||||
public constructor<P : R|kotlin/Any!|, Q : R|ft<P & Any, P?>|>(): R|test/ClassWithTypePP<P, Q>|
|
||||
public final class ClassWithTypePP<P : R|kotlin/Any!|, Q : R|P!|> : R|kotlin/Any| {
|
||||
public constructor<P : R|kotlin/Any!|, Q : R|P!|>(): R|test/ClassWithTypePP<P, Q>|
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
public open class ClassWithTypePRefNext<R : R|ft<kotlin/collections/MutableIterable<ft<P & Any, P?>>, kotlin/collections/Iterable<ft<P & Any, P?>>?>|, P : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public constructor<R : R|ft<kotlin/collections/MutableIterable<ft<P & Any, P?>>, kotlin/collections/Iterable<ft<P & Any, P?>>?>|, P : R|kotlin/Any!|>(): R|test/ClassWithTypePRefNext<R, P>|
|
||||
public open class ClassWithTypePRefNext<R : R|ft<kotlin/collections/MutableIterable<P!>, kotlin/collections/Iterable<P!>?>|, P : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public constructor<R : R|ft<kotlin/collections/MutableIterable<P!>, kotlin/collections/Iterable<P!>?>|, P : R|kotlin/Any!|>(): R|test/ClassWithTypePRefNext<R, P>|
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
public final class ClassWithTypePRefSelf<P : R|ft<kotlin/Enum<ft<P & Any, P?>>, kotlin/Enum<ft<P & Any, P?>>?>|> : R|kotlin/Any| {
|
||||
public constructor<P : R|ft<kotlin/Enum<ft<P & Any, P?>>, kotlin/Enum<ft<P & Any, P?>>?>|>(): R|test/ClassWithTypePRefSelf<P>|
|
||||
public final class ClassWithTypePRefSelf<P : R|ft<kotlin/Enum<P!>, kotlin/Enum<P!>?>|> : R|kotlin/Any| {
|
||||
public constructor<P : R|ft<kotlin/Enum<P!>, kotlin/Enum<P!>?>|>(): R|test/ClassWithTypePRefSelf<P>|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
public final class ClassWithTypePRefSelfAndClass<P : R|ft<test/ClassWithTypePRefSelfAndClass<ft<P & Any, P?>>, test/ClassWithTypePRefSelfAndClass<ft<P & Any, P?>>?>|> : R|kotlin/Any| {
|
||||
public constructor<P : R|ft<test/ClassWithTypePRefSelfAndClass<ft<P & Any, P?>>, test/ClassWithTypePRefSelfAndClass<ft<P & Any, P?>>?>|>(): R|test/ClassWithTypePRefSelfAndClass<P>|
|
||||
public final class ClassWithTypePRefSelfAndClass<P : R|ft<test/ClassWithTypePRefSelfAndClass<P!>, test/ClassWithTypePRefSelfAndClass<P!>?>|> : R|kotlin/Any| {
|
||||
public constructor<P : R|ft<test/ClassWithTypePRefSelfAndClass<P!>, test/ClassWithTypePRefSelfAndClass<P!>?>|>(): R|test/ClassWithTypePRefSelfAndClass<P>|
|
||||
|
||||
}
|
||||
|
||||
+4
-4
@@ -4,15 +4,15 @@ public final class InheritMethodsDifferentReturnTypesGeneric : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/InheritMethodsDifferentReturnTypesGeneric.Super1<kotlin/String!, kotlin/CharSequence!>|, R|test/InheritMethodsDifferentReturnTypesGeneric.Super2<kotlin/CharSequence!, kotlin/String!>| {
|
||||
}
|
||||
public abstract interface Super1<F : R|kotlin/Any!|, B : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<F & Any, F?>|
|
||||
public abstract fun foo(): R|F!|
|
||||
|
||||
public abstract fun bar(): R|ft<B & Any, B?>|
|
||||
public abstract fun bar(): R|B!|
|
||||
|
||||
}
|
||||
public abstract interface Super2<FF : R|kotlin/Any!|, BB : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<FF & Any, FF?>|
|
||||
public abstract fun foo(): R|FF!|
|
||||
|
||||
public abstract fun bar(): R|ft<BB & Any, BB?>|
|
||||
public abstract fun bar(): R|BB!|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
public open class InnerClassReferencesOuterTP<P : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public constructor<P : R|kotlin/Any!|>(): R|test/InnerClassReferencesOuterTP<P>|
|
||||
|
||||
public open inner class Inner<Q : R|ft<P & Any, P?>|, Outer(P) : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public test/InnerClassReferencesOuterTP<P>.constructor<Q : R|ft<P & Any, P?>|>(): R|test/InnerClassReferencesOuterTP.Inner<Q, P>|
|
||||
public open inner class Inner<Q : R|P!|, Outer(P) : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public test/InnerClassReferencesOuterTP<P>.constructor<Q : R|P!|>(): R|test/InnerClassReferencesOuterTP.Inner<Q, P>|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -11,12 +11,12 @@ public open class InnerClassTypeMultipleGeneric : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
}
|
||||
public open inner class Outer<E1 : R|kotlin/Any!|, E2 : R|kotlin/Any!|> : R|test/InnerClassTypeMultipleGeneric.BaseOuter<kotlin/Int!, ft<E1 & Any, E1?>>| {
|
||||
public open fun bar(): R|ft<test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<ft<java/lang/Class<*>, java/lang/Class<*>?>, kotlin/CharSequence!, kotlin/Int!, ft<E1 & Any, E1?>>, test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<ft<java/lang/Class<*>, java/lang/Class<*>?>, kotlin/CharSequence!, kotlin/Int!, ft<E1 & Any, E1?>>?>|
|
||||
public open inner class Outer<E1 : R|kotlin/Any!|, E2 : R|kotlin/Any!|> : R|test/InnerClassTypeMultipleGeneric.BaseOuter<kotlin/Int!, E1!>| {
|
||||
public open fun bar(): R|ft<test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<ft<java/lang/Class<*>, java/lang/Class<*>?>, kotlin/CharSequence!, kotlin/Int!, E1!>, test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<ft<java/lang/Class<*>, java/lang/Class<*>?>, kotlin/CharSequence!, kotlin/Int!, E1!>?>|
|
||||
|
||||
public test/InnerClassTypeMultipleGeneric.constructor<E1 : R|kotlin/Any!|, E2 : R|kotlin/Any!|>(): R|test/InnerClassTypeMultipleGeneric.Outer<E1, E2>|
|
||||
|
||||
public open inner class Inner<E3 : R|kotlin/Any!|, Outer(E1) : R|kotlin/Any!|, Outer(E2) : R|kotlin/Any!|> : R|test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<kotlin/Double!, kotlin/String!, ft<E2 & Any, E2?>, ft<E3 & Any, E3?>>| {
|
||||
public open inner class Inner<E3 : R|kotlin/Any!|, Outer(E1) : R|kotlin/Any!|, Outer(E2) : R|kotlin/Any!|> : R|test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<kotlin/Double!, kotlin/String!, E2!, E3!>| {
|
||||
public test/InnerClassTypeMultipleGeneric.Outer<E1, E2>.constructor<E3 : R|kotlin/Any!|>(): R|test/InnerClassTypeMultipleGeneric.Outer.Inner<E3, E1, E2>|
|
||||
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@ public open class InnerClassesInGeneric<P : R|kotlin/Any!|, Q : R|kotlin/Any!|>
|
||||
public test/InnerClassesInGeneric<P, Q>.constructor(): R|test/InnerClassesInGeneric.Inner<P, Q>|
|
||||
|
||||
}
|
||||
public open inner class Inner2<Outer(P) : R|kotlin/Any!|, Outer(Q) : R|kotlin/Any!|> : R|test/InnerClassesInGeneric.Inner<ft<P & Any, P?>, ft<Q & Any, Q?>>| {
|
||||
public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<P & Any, P?>>, kotlin/collections/Iterator<ft<P & Any, P?>>?>|
|
||||
public open inner class Inner2<Outer(P) : R|kotlin/Any!|, Outer(Q) : R|kotlin/Any!|> : R|test/InnerClassesInGeneric.Inner<P!, Q!>| {
|
||||
public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<P!>, kotlin/collections/Iterator<P!>?>|
|
||||
|
||||
public test/InnerClassesInGeneric<P, Q>.constructor(): R|test/InnerClassesInGeneric.Inner2<P, Q>|
|
||||
|
||||
|
||||
@@ -4,23 +4,23 @@ public open class InnerOfGeneric : R|kotlin/Any| {
|
||||
public abstract inner class A<K : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public test/InnerOfGeneric.constructor<K : R|kotlin/Any!|>(): R|test/InnerOfGeneric.A<K>|
|
||||
|
||||
public abstract inner class Inner<Outer(K) : R|kotlin/Any!|> : R|test/InnerOfGeneric.S<ft<K & Any, K?>>| {
|
||||
public abstract inner class Inner<Outer(K) : R|kotlin/Any!|> : R|test/InnerOfGeneric.S<K!>| {
|
||||
public test/InnerOfGeneric.A<K>.constructor(): R|test/InnerOfGeneric.A.Inner<K>|
|
||||
|
||||
}
|
||||
}
|
||||
public open inner class B<L : R|kotlin/Any!|> : R|test/InnerOfGeneric.A<ft<L & Any, L?>>| {
|
||||
public open inner class B<L : R|kotlin/Any!|> : R|test/InnerOfGeneric.A<L!>| {
|
||||
public test/InnerOfGeneric.constructor<L : R|kotlin/Any!|>(): R|test/InnerOfGeneric.B<L>|
|
||||
|
||||
public open inner class SubInner<Outer(L) : R|kotlin/Any!|> : R|test/InnerOfGeneric.A.Inner<ft<L & Any, L?>>| {
|
||||
@R|java/lang/Override|() public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<L & Any, L?>>, kotlin/collections/Iterator<ft<L & Any, L?>>?>|
|
||||
public open inner class SubInner<Outer(L) : R|kotlin/Any!|> : R|test/InnerOfGeneric.A.Inner<L!>| {
|
||||
@R|java/lang/Override|() public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<L!>, kotlin/collections/Iterator<L!>?>|
|
||||
|
||||
public test/InnerOfGeneric.B<L>.constructor(): R|test/InnerOfGeneric.B.SubInner<L>|
|
||||
|
||||
}
|
||||
}
|
||||
public open inner class S<E : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<E & Any, E?>>, kotlin/collections/Iterator<ft<E & Any, E?>>?>|
|
||||
public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<E!>, kotlin/collections/Iterator<E!>?>|
|
||||
|
||||
public test/InnerOfGeneric.constructor<E : R|kotlin/Any!|>(): R|test/InnerOfGeneric.S<E>|
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ public final class MethodReferencesOuterClassTP<P : R|kotlin/Any!|> : R|kotlin/A
|
||||
public constructor<P : R|kotlin/Any!|>(): R|test/MethodReferencesOuterClassTP<P>|
|
||||
|
||||
public final inner class Inner<Outer(P) : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public final fun <Q : R|ft<P & Any, P?>|> f(): R|kotlin/Unit|
|
||||
public final fun <Q : R|P!|> f(): R|kotlin/Unit|
|
||||
|
||||
public test/MethodReferencesOuterClassTP<P>.constructor(): R|test/MethodReferencesOuterClassTP.Inner<P>|
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
public final class MethodWithTypePP : R|kotlin/Any| {
|
||||
public final fun <P : R|kotlin/Any!|, Q : R|ft<P & Any, P?>|> f(): R|kotlin/Unit|
|
||||
public final fun <P : R|kotlin/Any!|, Q : R|P!|> f(): R|kotlin/Unit|
|
||||
|
||||
public constructor(): R|test/MethodWithTypePP|
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
public open class MethodWithTypePRefClassP<P : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public final fun <Q : R|ft<P & Any, P?>|> f(): R|kotlin/Unit|
|
||||
public final fun <Q : R|P!|> f(): R|kotlin/Unit|
|
||||
|
||||
public constructor<P : R|kotlin/Any!|>(): R|test/MethodWithTypePRefClassP<P>|
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
public final class MethosWithPRefTP : R|kotlin/Any| {
|
||||
public final fun <P : R|kotlin/Any!|> f(p: R|ft<P & Any, P?>|): R|kotlin/Unit|
|
||||
public final fun <P : R|kotlin/Any!|> f(p: R|P!|): R|kotlin/Unit|
|
||||
|
||||
public constructor(): R|test/MethosWithPRefTP|
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ public open class RawOverrides : R|kotlin/Any| {
|
||||
public constructor(): R|test/RawOverrides|
|
||||
|
||||
public abstract interface A<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun <E : R|kotlin/CharSequence!|> foo(x: R|ft<T & Any, T?>|, y: R|ft<kotlin/collections/MutableList<out ft<T & Any, T?>>, kotlin/collections/List<out ft<T & Any, T?>>?>|): R|ft<E & Any, E?>|
|
||||
public abstract fun <E : R|kotlin/CharSequence!|> foo(x: R|T!|, y: R|ft<kotlin/collections/MutableList<out T!>, kotlin/collections/List<out T!>?>|): R|E!|
|
||||
|
||||
}
|
||||
public open inner class B : R|kotlin/Any|, R|Raw type test/RawOverrides.A<kotlin/Any!>| {
|
||||
@@ -12,7 +12,7 @@ public open class RawOverrides : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public open inner class C : R|kotlin/Any| {
|
||||
public/*package*/ open fun <E : R|kotlin/CharSequence!|, F : R|ft<E & Any, E?>|> bar(x: R|ft<F & Any, F?>|, y: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap<ft<E & Any, E?>, ft<F & Any, F?>>, kotlin/collections/Map<ft<E & Any, E?>, ft<F & Any, F?>>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap<ft<E & Any, E?>, ft<F & Any, F?>>, kotlin/collections/Map<ft<E & Any, E?>, ft<F & Any, F?>>?>>?>|): R|ft<E & Any, E?>|
|
||||
public/*package*/ open fun <E : R|kotlin/CharSequence!|, F : R|E!|> bar(x: R|F!|, y: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap<E!, F!>, kotlin/collections/Map<E!, F!>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap<E!, F!>, kotlin/collections/Map<E!, F!>?>>?>|): R|E!|
|
||||
|
||||
public test/RawOverrides.constructor(): R|test/RawOverrides.C|
|
||||
|
||||
@@ -20,7 +20,7 @@ public open class RawOverrides : R|kotlin/Any| {
|
||||
public open inner class D : R|test/RawOverrides.C| {
|
||||
@R|java/lang/Override|() public open fun bar(x: R|kotlin/CharSequence!|, y: R|ft<Raw type kotlin/collections/MutableList<kotlin/Any?>, kotlin/collections/List<*>?>|): R|kotlin/String!|
|
||||
|
||||
public/*package*/ open fun <E : R|kotlin/CharSequence!|, F : R|ft<E & Any, E?>|> bar(x: R|ft<F & Any, F?>|, y: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap<ft<E & Any, E?>, ft<F & Any, F?>>, kotlin/collections/Map<ft<E & Any, E?>, ft<F & Any, F?>>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap<ft<E & Any, E?>, ft<F & Any, F?>>, kotlin/collections/Map<ft<E & Any, E?>, ft<F & Any, F?>>?>>?>|): R|ft<E & Any, E?>|
|
||||
public/*package*/ open fun <E : R|kotlin/CharSequence!|, F : R|E!|> bar(x: R|F!|, y: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap<E!, F!>, kotlin/collections/Map<E!, F!>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap<E!, F!>, kotlin/collections/Map<E!, F!>?>>?>|): R|E!|
|
||||
|
||||
public test/RawOverrides.constructor(): R|test/RawOverrides.D|
|
||||
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ public open class ReferenceCycleThroughAnnotation : R|kotlin/Any| {
|
||||
public test/ReferenceCycleThroughAnnotation.constructor<T : R|kotlin/Any!|>(): R|test/ReferenceCycleThroughAnnotation.A<T>|
|
||||
|
||||
}
|
||||
public open inner class B<T : R|ft<test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>, test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>?>|> : R|kotlin/Any| {
|
||||
public test/ReferenceCycleThroughAnnotation.constructor<T : R|ft<test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>, test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>?>|>(): R|test/ReferenceCycleThroughAnnotation.B<T>|
|
||||
public open inner class B<T : R|ft<test/ReferenceCycleThroughAnnotation.A<T!>, test/ReferenceCycleThroughAnnotation.A<T!>?>|> : R|kotlin/Any| {
|
||||
public test/ReferenceCycleThroughAnnotation.constructor<T : R|ft<test/ReferenceCycleThroughAnnotation.A<T!>, test/ReferenceCycleThroughAnnotation.A<T!>?>|>(): R|test/ReferenceCycleThroughAnnotation.B<T>|
|
||||
|
||||
}
|
||||
public final annotation class C : R|kotlin/Annotation| {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
public open class ConstructorGenericDeep : R|kotlin/Any| {
|
||||
public constructor<P : R|kotlin/Any!|>(cl: R|ft<java/lang/Class<ft<P & Any, P?>>, java/lang/Class<ft<P & Any, P?>>?>|): R|test/ConstructorGenericDeep|
|
||||
public constructor<P : R|kotlin/Any!|>(cl: R|ft<java/lang/Class<P!>, java/lang/Class<P!>?>|): R|test/ConstructorGenericDeep|
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
public open class ConstructorGenericSimple : R|kotlin/Any| {
|
||||
public constructor<P : R|kotlin/Any!|>(p: R|ft<P & Any, P?>|): R|test/ConstructorGenericSimple|
|
||||
public constructor<P : R|kotlin/Any!|>(p: R|P!|): R|test/ConstructorGenericSimple|
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
public open class ConstructorGenericUpperBound : R|kotlin/Any| {
|
||||
public constructor<P : R|java/util/RandomAccess!|>(p: R|ft<P & Any, P?>|): R|test/ConstructorGenericUpperBound|
|
||||
public constructor<P : R|java/util/RandomAccess!|>(p: R|P!|): R|test/ConstructorGenericUpperBound|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
public open class JavaBeanVarOfGenericType<P : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public open fun getCharacters(): R|ft<java/util/ArrayList<ft<P & Any, P?>>, java/util/ArrayList<ft<P & Any, P?>>?>|
|
||||
public open fun getCharacters(): R|ft<java/util/ArrayList<P!>, java/util/ArrayList<P!>?>|
|
||||
|
||||
public open fun setCharacters(characters: R|ft<java/util/ArrayList<ft<P & Any, P?>>, java/util/ArrayList<ft<P & Any, P?>>?>|): R|kotlin/Unit|
|
||||
public open fun setCharacters(characters: R|ft<java/util/ArrayList<P!>, java/util/ArrayList<P!>?>|): R|kotlin/Unit|
|
||||
|
||||
public constructor<P : R|kotlin/Any!|>(): R|test/JavaBeanVarOfGenericType<P>|
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
public open class ConstructorWithNewTypeParams<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public constructor<T : R|kotlin/Any!|, U : R|kotlin/Any!|>(first: R|ft<U & Any, U?>|): R|test/ConstructorWithNewTypeParams<T>|
|
||||
public constructor<T : R|kotlin/Any!|, U : R|kotlin/Any!|>(first: R|U!|): R|test/ConstructorWithNewTypeParams<T>|
|
||||
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
public open class ConstructorWithParentTypeParams<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public constructor<T : R|kotlin/Any!|>(first: R|ft<T & Any, T?>|): R|test/ConstructorWithParentTypeParams<T>|
|
||||
public constructor<T : R|kotlin/Any!|>(first: R|T!|): R|test/ConstructorWithParentTypeParams<T>|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
public open class MethodWithMappedClasses : R|kotlin/Any| {
|
||||
public open fun <T : R|kotlin/Any!|> copy(dest: R|ft<kotlin/collections/MutableList<in ft<T & Any, T?>>, kotlin/collections/MutableList<in ft<T & Any, T?>>?>|, src: R|ft<kotlin/collections/MutableList<ft<T & Any, T?>>, kotlin/collections/List<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public open fun <T : R|kotlin/Any!|> copy(dest: R|ft<kotlin/collections/MutableList<in T!>, kotlin/collections/MutableList<in T!>?>|, src: R|ft<kotlin/collections/MutableList<T!>, kotlin/collections/List<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
public open fun <T : R|kotlin/Any!|> copyMap(dest: R|ft<kotlin/collections/MutableMap<kotlin/String!, in ft<T & Any, T?>>, kotlin/collections/MutableMap<kotlin/String!, in ft<T & Any, T?>>?>|, src: R|ft<kotlin/collections/MutableMap<kotlin/String!, ft<T & Any, T?>>, kotlin/collections/Map<kotlin/String!, ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public open fun <T : R|kotlin/Any!|> copyMap(dest: R|ft<kotlin/collections/MutableMap<kotlin/String!, in T!>, kotlin/collections/MutableMap<kotlin/String!, in T!>?>|, src: R|ft<kotlin/collections/MutableMap<kotlin/String!, T!>, kotlin/collections/Map<kotlin/String!, T!>?>|): R|kotlin/Unit|
|
||||
|
||||
public constructor(): R|test/MethodWithMappedClasses|
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
public open class MethodWithTypeParameters : R|kotlin/Any| {
|
||||
public open fun <A : R|kotlin/Any!|, B : R|java/lang/Runnable!|, R|ft<kotlin/collections/MutableList<kotlin/Cloneable!>, kotlin/collections/List<kotlin/Cloneable!>?>|> foo(a: R|ft<A & Any, A?>|, b: R|ft<kotlin/collections/MutableList<out ft<B & Any, B?>>, kotlin/collections/List<out ft<B & Any, B?>>?>|, list: R|ft<kotlin/collections/MutableList<in kotlin/String!>, kotlin/collections/MutableList<in kotlin/String!>?>|): R|kotlin/Unit|
|
||||
public open fun <A : R|kotlin/Any!|, B : R|java/lang/Runnable!|, R|ft<kotlin/collections/MutableList<kotlin/Cloneable!>, kotlin/collections/List<kotlin/Cloneable!>?>|> foo(a: R|A!|, b: R|ft<kotlin/collections/MutableList<out B!>, kotlin/collections/List<out B!>?>|, list: R|ft<kotlin/collections/MutableList<in kotlin/String!>, kotlin/collections/MutableList<in kotlin/String!>?>|): R|kotlin/Unit|
|
||||
|
||||
public constructor(): R|test/MethodWithTypeParameters|
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ public open class PropertyArrayTypes<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
|
||||
public open field array: R|ft<kotlin/Array<kotlin/String!>, kotlin/Array<out kotlin/String!>?>|
|
||||
|
||||
public open field genericArray: R|ft<kotlin/Array<ft<T & Any, T?>>, kotlin/Array<out ft<T & Any, T?>>?>|
|
||||
public open field genericArray: R|ft<kotlin/Array<T!>, kotlin/Array<out T!>?>|
|
||||
|
||||
public constructor<T : R|kotlin/Any!|>(): R|test/PropertyArrayTypes<T>|
|
||||
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
public open class PropertyComplexTypes<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public open field genericType: R|ft<T & Any, T?>|
|
||||
public open field genericType: R|T!|
|
||||
|
||||
public open field listDefinedGeneric: R|ft<java/util/ArrayList<kotlin/String!>, java/util/ArrayList<kotlin/String!>?>|
|
||||
|
||||
public open field listGeneric: R|ft<java/util/ArrayList<ft<T & Any, T?>>, java/util/ArrayList<ft<T & Any, T?>>?>|
|
||||
public open field listGeneric: R|ft<java/util/ArrayList<T!>, java/util/ArrayList<T!>?>|
|
||||
|
||||
public open field listOfGenericList: R|ft<java/util/ArrayList<ft<java/util/ArrayList<ft<T & Any, T?>>, java/util/ArrayList<ft<T & Any, T?>>?>>, java/util/ArrayList<ft<java/util/ArrayList<ft<T & Any, T?>>, java/util/ArrayList<ft<T & Any, T?>>?>>?>|
|
||||
public open field listOfGenericList: R|ft<java/util/ArrayList<ft<java/util/ArrayList<T!>, java/util/ArrayList<T!>?>>, java/util/ArrayList<ft<java/util/ArrayList<T!>, java/util/ArrayList<T!>?>>?>|
|
||||
|
||||
public constructor<T : R|kotlin/Any!|>(): R|test/PropertyComplexTypes<T>|
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
public open class WrongTypeParameterBoundStructure1 : R|kotlin/Any| {
|
||||
public open fun <A : R|kotlin/Any!|, B : R|java/lang/Runnable!|, R|ft<kotlin/collections/MutableList<kotlin/Cloneable!>, kotlin/collections/List<kotlin/Cloneable!>?>|> foo(a: R|ft<A & Any, A?>|, b: R|ft<kotlin/collections/MutableList<out ft<B & Any, B?>>, kotlin/collections/List<out ft<B & Any, B?>>?>|): R|kotlin/Unit|
|
||||
public open fun <A : R|kotlin/Any!|, B : R|java/lang/Runnable!|, R|ft<kotlin/collections/MutableList<kotlin/Cloneable!>, kotlin/collections/List<kotlin/Cloneable!>?>|> foo(a: R|A!|, b: R|ft<kotlin/collections/MutableList<out B!>, kotlin/collections/List<out B!>?>|): R|kotlin/Unit|
|
||||
|
||||
public constructor(): R|test/WrongTypeParameterBoundStructure1|
|
||||
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter.Super<ft<E & Any, E?>>| {
|
||||
public abstract fun foo(p: R|ft<E & Any, E?>|): R|kotlin/Unit|
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter.Super<E!>| {
|
||||
public abstract fun foo(p: R|E!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Sub : R|test/DeeplySubstitutedClassParameter.Middle<kotlin/String!>| {
|
||||
@@ -8,7 +8,7 @@ public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface Super<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(p: R|ft<T & Any, T?>|): R|kotlin/Unit|
|
||||
public abstract fun foo(p: R|T!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter2.Super<ft<E & Any, E?>>| {
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter2.Super<E!>| {
|
||||
}
|
||||
public abstract interface Sub : R|test/DeeplySubstitutedClassParameter2.Middle<kotlin/String!>| {
|
||||
public abstract fun foo(p: R|kotlin/String!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(p: R|ft<T & Any, T?>|): R|kotlin/Unit|
|
||||
public abstract fun foo(p: R|T!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ public abstract interface Kt3302 : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface LinkedHashMap<K : R|kotlin/Any!|, V : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun put(key: R|ft<K & Any, K?>|, value: R|ft<V & Any, V?>|): R|ft<V & Any, V?>|
|
||||
public abstract fun put(key: R|K!|, value: R|V!|): R|V!|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
public abstract interface OverrideWithErasedParameter : R|kotlin/Any| {
|
||||
public abstract interface Sub<T : R|kotlin/Any!|> : R|test/OverrideWithErasedParameter.Super<ft<T & Any, T?>>| {
|
||||
public abstract interface Sub<T : R|kotlin/Any!|> : R|test/OverrideWithErasedParameter.Super<T!>| {
|
||||
public abstract fun foo(o: R|kotlin/Any!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(t: R|ft<T & Any, T?>|): R|kotlin/Unit|
|
||||
public abstract fun foo(t: R|T!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
public abstract interface SubclassFromGenericAndNot : R|kotlin/Any| {
|
||||
public abstract interface Generic<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(key: R|ft<T & Any, T?>|): R|kotlin/Unit|
|
||||
public abstract fun foo(key: R|T!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ public abstract interface SubstitutedClassParameter : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface Super<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(p: R|ft<T & Any, T?>|): R|kotlin/Unit|
|
||||
public abstract fun foo(p: R|T!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+2
-2
@@ -4,13 +4,13 @@ public abstract interface SubstitutedClassParameters : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface Super1<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(p: R|ft<T & Any, T?>|): R|kotlin/Unit|
|
||||
public abstract fun foo(p: R|T!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super2<E : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(p: R|ft<E & Any, E?>|): R|kotlin/Unit|
|
||||
public abstract fun foo(p: R|E!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter.Super<ft<E & Any, E?>>| {
|
||||
public abstract fun foo(): R|ft<E & Any, E?>|
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter.Super<E!>| {
|
||||
public abstract fun foo(): R|E!|
|
||||
|
||||
}
|
||||
public abstract interface Sub : R|test/DeeplySubstitutedClassParameter.Middle<kotlin/String!>| {
|
||||
@@ -8,7 +8,7 @@ public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface Super<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<T & Any, T?>|
|
||||
public abstract fun foo(): R|T!|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter2.Super<ft<E & Any, E?>>| {
|
||||
public abstract interface Middle<E : R|kotlin/Any!|> : R|test/DeeplySubstitutedClassParameter2.Super<E!>| {
|
||||
}
|
||||
public abstract interface Sub : R|test/DeeplySubstitutedClassParameter2.Middle<kotlin/String!>| {
|
||||
public abstract fun foo(): R|kotlin/String!|
|
||||
|
||||
}
|
||||
public abstract interface Super<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<T & Any, T?>|
|
||||
public abstract fun foo(): R|T!|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+1
-1
@@ -9,6 +9,6 @@ public abstract interface HalfSubstitutedTypeParameters : R|kotlin/Any| {
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface TrickyList<X : R|kotlin/Any!|, E : R|kotlin/Any!|> : R|kotlin/collections/MutableList<ft<E & Any, E?>>| {
|
||||
public abstract interface TrickyList<X : R|kotlin/Any!|, E : R|kotlin/Any!|> : R|kotlin/collections/MutableList<E!>| {
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
public abstract interface SubclassFromGenericAndNot : R|kotlin/Any| {
|
||||
public abstract interface Generic<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<T & Any, T?>|
|
||||
public abstract fun foo(): R|T!|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
public abstract interface SubclassOfCollection<E : R|kotlin/Any!|> : R|kotlin/collections/MutableCollection<ft<E & Any, E?>>| {
|
||||
public abstract operator fun iterator(): R|@EnhancedNullability kotlin/collections/MutableIterator<ft<E & Any, E?>>|
|
||||
public abstract interface SubclassOfCollection<E : R|kotlin/Any!|> : R|kotlin/collections/MutableCollection<E!>| {
|
||||
public abstract operator fun iterator(): R|@EnhancedNullability kotlin/collections/MutableIterator<E!>|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
public abstract interface SubclassOfMapEntry<K : R|kotlin/Any!|, V : R|kotlin/Any!|> : R|kotlin/collections/MutableMap.MutableEntry<ft<K & Any, K?>, ft<V & Any, V?>>| {
|
||||
public abstract fun setValue(value: R|ft<V & Any, V?>|): R|ft<V & Any, V?>|
|
||||
public abstract interface SubclassOfMapEntry<K : R|kotlin/Any!|, V : R|kotlin/Any!|> : R|kotlin/collections/MutableMap.MutableEntry<K!, V!>| {
|
||||
public abstract fun setValue(value: R|V!|): R|V!|
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ public abstract interface SubstitutedClassParameter : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface Super<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<T & Any, T?>|
|
||||
public abstract fun foo(): R|T!|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
+2
-2
@@ -4,13 +4,13 @@ public abstract interface SubstitutedClassParameters : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface Super1<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<T & Any, T?>|
|
||||
public abstract fun foo(): R|T!|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super2<E : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun foo(): R|ft<E & Any, E?>|
|
||||
public abstract fun foo(): R|E!|
|
||||
|
||||
public abstract fun dummy(): R|kotlin/Unit|
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
public abstract interface TypeParamOfClass : R|kotlin/Any| {
|
||||
public abstract interface Sub<T : R|kotlin/Any!|> : R|test/TypeParamOfClass.Super<ft<T & Any, T?>>| {
|
||||
public abstract interface Sub<T : R|kotlin/Any!|> : R|test/TypeParamOfClass.Super<T!>| {
|
||||
public abstract fun foo(): R|@EnhancedNullability T & Any|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
public abstract interface InheritNullability : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/InheritNullability.Super| {
|
||||
public abstract fun <B : R|kotlin/CharSequence!|> foo(b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <B : R|kotlin/CharSequence!|> foo(b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/CharSequence!|> foo(a: R|ft<A & Any, A?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/CharSequence!|> foo(a: R|A!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,10 +1,10 @@
|
||||
public abstract interface TwoBounds : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/TwoBounds.Super| {
|
||||
public abstract fun <B : R|kotlin/CharSequence!|, R|kotlin/Cloneable!|> foo(b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <B : R|kotlin/CharSequence!|, R|kotlin/Cloneable!|> foo(b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/CharSequence!|, R|kotlin/Cloneable!|> foo(a: R|ft<A & Any, A?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/CharSequence!|, R|kotlin/Cloneable!|> foo(a: R|A!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
public abstract interface TwoSuperclasses : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/TwoSuperclasses.Super1|, R|test/TwoSuperclasses.Super2| {
|
||||
public abstract fun <C : R|kotlin/CharSequence!|> foo(c: R|ft<C & Any, C?>|): R|kotlin/Unit|
|
||||
public abstract fun <C : R|kotlin/CharSequence!|> foo(c: R|C!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super1 : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/CharSequence!|> foo(a: R|ft<A & Any, A?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/CharSequence!|> foo(a: R|A!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super2 : R|kotlin/Any| {
|
||||
public abstract fun <B : R|kotlin/CharSequence!|> foo(a: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <B : R|kotlin/CharSequence!|> foo(a: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
public abstract interface TwoTypeParameters : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/TwoTypeParameters.Super| {
|
||||
public abstract fun <B : R|kotlin/CharSequence!|, A : R|kotlin/Cloneable!|> foo(b: R|ft<B & Any, B?>|, a: R|ft<A & Any, A?>|): R|kotlin/Unit|
|
||||
public abstract fun <B : R|kotlin/CharSequence!|, A : R|kotlin/Cloneable!|> foo(b: R|B!|, a: R|A!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/CharSequence!|, B : R|kotlin/Cloneable!|> foo(a: R|ft<A & Any, A?>|, b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/CharSequence!|, B : R|kotlin/Cloneable!|> foo(a: R|A!|, b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
public abstract interface UseParameterAsUpperBound : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/UseParameterAsUpperBound.Super| {
|
||||
public abstract fun <B : R|kotlin/Any!|, A : R|ft<B & Any, B?>|> foo(b: R|ft<B & Any, B?>|, a: R|ft<A & Any, A?>|): R|kotlin/Unit|
|
||||
public abstract fun <B : R|kotlin/Any!|, A : R|B!|> foo(b: R|B!|, a: R|A!|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|ft<A & Any, A?>|> foo(a: R|ft<A & Any, A?>|, b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|A!|> foo(a: R|A!|, b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|ft<A & Any, A?>|> foo(a: R|ft<A & Any, A?>|, b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|A!|> foo(a: R|A!|, b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
public abstract interface UseParameterInUpperBound : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/UseParameterInUpperBound.Super| {
|
||||
public abstract fun <B : R|kotlin/Any!|, A : R|ft<kotlin/collections/MutableList<ft<B & Any, B?>>, kotlin/collections/List<ft<B & Any, B?>>?>|> foo(b: R|ft<B & Any, B?>|, a: R|ft<A & Any, A?>|): R|kotlin/Unit|
|
||||
public abstract fun <B : R|kotlin/Any!|, A : R|ft<kotlin/collections/MutableList<B!>, kotlin/collections/List<B!>?>|> foo(b: R|B!|, a: R|A!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|ft<kotlin/collections/MutableList<ft<A & Any, A?>>, kotlin/collections/List<ft<A & Any, A?>>?>|> foo(a: R|ft<A & Any, A?>|, b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|ft<kotlin/collections/MutableList<A!>, kotlin/collections/List<A!>?>|> foo(a: R|A!|, b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
public abstract interface UseParameterInUpperBoundWithKotlinSignature : R|kotlin/Any| {
|
||||
public abstract interface Sub : R|test/UseParameterInUpperBoundWithKotlinSignature.Super| {
|
||||
public abstract fun <B : R|kotlin/Any!|, A : R|ft<kotlin/collections/MutableList<ft<B & Any, B?>>, kotlin/collections/List<ft<B & Any, B?>>?>|> foo(b: R|ft<B & Any, B?>|, a: R|ft<A & Any, A?>|): R|kotlin/Unit|
|
||||
public abstract fun <B : R|kotlin/Any!|, A : R|ft<kotlin/collections/MutableList<B!>, kotlin/collections/List<B!>?>|> foo(b: R|B!|, a: R|A!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public abstract interface Super : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|ft<kotlin/collections/MutableList<ft<A & Any, A?>>, kotlin/collections/List<ft<A & Any, A?>>?>|> foo(a: R|ft<A & Any, A?>|, b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/Any!|, B : R|ft<kotlin/collections/MutableList<A!>, kotlin/collections/List<A!>?>|> foo(a: R|A!|, b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
public abstract interface LoadIterable<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|
|
||||
public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/Iterable<T!>?>|
|
||||
|
||||
public abstract fun setIterable(Iterable: R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public abstract fun setIterable(Iterable: R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/Iterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
public abstract interface LoadIterator<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun getIterator(): R|ft<kotlin/collections/MutableIterator<ft<T & Any, T?>>, kotlin/collections/Iterator<ft<T & Any, T?>>?>|
|
||||
public abstract fun getIterator(): R|ft<kotlin/collections/MutableIterator<T!>, kotlin/collections/Iterator<T!>?>|
|
||||
|
||||
public abstract fun setIterator(iterator: R|ft<kotlin/collections/MutableIterator<ft<T & Any, T?>>, kotlin/collections/Iterator<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public abstract fun setIterator(iterator: R|ft<kotlin/collections/MutableIterator<T!>, kotlin/collections/Iterator<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
public open class Max : R|kotlin/Any| {
|
||||
public open fun <T : R|kotlin/Any!|, R|ft<kotlin/Comparable<in ft<T & Any, T?>>, kotlin/Comparable<in ft<T & Any, T?>>?>|> max(coll: R|ft<kotlin/collections/MutableCollection<out ft<T & Any, T?>>, kotlin/collections/Collection<out ft<T & Any, T?>>?>|): R|ft<T & Any, T?>|
|
||||
public open fun <T : R|kotlin/Any!|, R|ft<kotlin/Comparable<in T!>, kotlin/Comparable<in T!>?>|> max(coll: R|ft<kotlin/collections/MutableCollection<out T!>, kotlin/collections/Collection<out T!>?>|): R|T!|
|
||||
|
||||
public constructor(): R|test/Max|
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
public abstract interface LoadIterable<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
@R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/MutableIterable<ft<T & Any, T?>>?>|
|
||||
@R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/MutableIterable<T!>?>|
|
||||
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/MutableIterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/MutableIterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
@R|kotlin/annotations/jvm/ReadOnly|() public abstract fun getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|
|
||||
@R|kotlin/annotations/jvm/ReadOnly|() public abstract fun getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<T!>, kotlin/collections/Iterable<T!>?>|
|
||||
|
||||
public abstract fun setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() Iterable: R|ft<kotlin/collections/Iterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public abstract fun setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() Iterable: R|ft<kotlin/collections/Iterable<T!>, kotlin/collections/Iterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
public abstract interface LoadIterableWithConflict<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|
|
||||
@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/Iterable<T!>?>|
|
||||
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/Iterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
public abstract interface LoadIterableWithNullability<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|@EnhancedNullability kotlin/collections/MutableIterable<ft<T & Any, T?>>|
|
||||
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|@EnhancedNullability kotlin/collections/MutableIterable<T!>|
|
||||
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/Mutable|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|@EnhancedNullability kotlin/collections/MutableIterable<ft<T & Any, T?>>|): R|kotlin/Unit|
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/Mutable|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|@EnhancedNullability kotlin/collections/MutableIterable<T!>|): R|kotlin/Unit|
|
||||
|
||||
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/ReadOnly|() public abstract fun getReadOnlyIterable(): R|@EnhancedNullability kotlin/collections/Iterable<ft<T & Any, T?>>|
|
||||
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/ReadOnly|() public abstract fun getReadOnlyIterable(): R|@EnhancedNullability kotlin/collections/Iterable<T!>|
|
||||
|
||||
public abstract fun setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|@EnhancedNullability kotlin/collections/Iterable<ft<T & Any, T?>>|): R|kotlin/Unit|
|
||||
public abstract fun setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|@EnhancedNullability kotlin/collections/Iterable<T!>|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
+9
-9
@@ -1,22 +1,22 @@
|
||||
public abstract interface LoadIterableWithPropagation : R|kotlin/Any| {
|
||||
public abstract interface LoadIterable<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
@R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/MutableIterable<ft<T & Any, T?>>?>|
|
||||
@R|kotlin/annotations/jvm/Mutable|() public abstract fun getIterable(): R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/MutableIterable<T!>?>|
|
||||
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/MutableIterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public abstract fun setIterable(@R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/MutableIterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
@R|kotlin/annotations/jvm/ReadOnly|() public abstract fun getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|
|
||||
@R|kotlin/annotations/jvm/ReadOnly|() public abstract fun getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<T!>, kotlin/collections/Iterable<T!>?>|
|
||||
|
||||
public abstract fun setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() Iterable: R|ft<kotlin/collections/Iterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public abstract fun setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() Iterable: R|ft<kotlin/collections/Iterable<T!>, kotlin/collections/Iterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open class LoadIterableImpl<T : R|kotlin/Any!|> : R|kotlin/Any|, R|test/LoadIterableWithPropagation.LoadIterable<ft<T & Any, T?>>| {
|
||||
public open fun getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/MutableIterable<ft<T & Any, T?>>?>|
|
||||
public open class LoadIterableImpl<T : R|kotlin/Any!|> : R|kotlin/Any|, R|test/LoadIterableWithPropagation.LoadIterable<T!>| {
|
||||
public open fun getIterable(): R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/MutableIterable<T!>?>|
|
||||
|
||||
public open fun setIterable(Iterable: R|ft<kotlin/collections/MutableIterable<ft<T & Any, T?>>, kotlin/collections/MutableIterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public open fun setIterable(Iterable: R|ft<kotlin/collections/MutableIterable<T!>, kotlin/collections/MutableIterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
public open fun getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|
|
||||
public open fun getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<T!>, kotlin/collections/Iterable<T!>?>|
|
||||
|
||||
public open fun setReadOnlyIterable(Iterable: R|ft<kotlin/collections/Iterable<ft<T & Any, T?>>, kotlin/collections/Iterable<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public open fun setReadOnlyIterable(Iterable: R|ft<kotlin/collections/Iterable<T!>, kotlin/collections/Iterable<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
public constructor<T : R|kotlin/Any!|>(): R|test/LoadIterableWithPropagation.LoadIterableImpl<T>|
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
public abstract interface Comparator<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun compare(o1: R|ft<T & Any, T?>|, o2: R|ft<T & Any, T?>|): R|kotlin/Int|
|
||||
public abstract fun compare(o1: R|T!|, o2: R|T!|): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
public abstract interface GenericInterfaceParameterWithSelfBound<T : R|ft<test/GenericInterfaceParameterWithSelfBound<ft<T & Any, T?>>, test/GenericInterfaceParameterWithSelfBound<ft<T & Any, T?>>?>|> : R|kotlin/Any| {
|
||||
public abstract fun method(t: R|ft<T & Any, T?>|): R|ft<T & Any, T?>|
|
||||
public abstract interface GenericInterfaceParameterWithSelfBound<T : R|ft<test/GenericInterfaceParameterWithSelfBound<T!>, test/GenericInterfaceParameterWithSelfBound<T!>?>|> : R|kotlin/Any| {
|
||||
public abstract fun method(t: R|T!|): R|T!|
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
public abstract interface GenericInterfaceParametersWithBounds<A : R|ft<kotlin/Comparable<ft<A & Any, A?>>, kotlin/Comparable<ft<A & Any, A?>>?>|, R|kotlin/Cloneable!|, B : R|ft<kotlin/collections/MutableList<ft<A & Any, A?>>, kotlin/collections/List<ft<A & Any, A?>>?>|> : R|kotlin/Any| {
|
||||
public abstract fun method(a: R|ft<kotlin/Array<ft<A & Any, A?>>, kotlin/Array<out ft<A & Any, A?>>?>|, b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract interface GenericInterfaceParametersWithBounds<A : R|ft<kotlin/Comparable<A!>, kotlin/Comparable<A!>?>|, R|kotlin/Cloneable!|, B : R|ft<kotlin/collections/MutableList<A!>, kotlin/collections/List<A!>?>|> : R|kotlin/Any| {
|
||||
public abstract fun method(a: R|ft<kotlin/Array<A!>, kotlin/Array<out A!>?>|, b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
public abstract interface GenericMethodParameters : R|kotlin/Any| {
|
||||
public abstract fun <A : R|kotlin/CharSequence!|, B : R|ft<kotlin/collections/MutableList<ft<A & Any, A?>>, kotlin/collections/List<ft<A & Any, A?>>?>|> method(a: R|ft<kotlin/Array<ft<A & Any, A?>>, kotlin/Array<out ft<A & Any, A?>>?>|, b: R|ft<B & Any, B?>|): R|kotlin/Unit|
|
||||
public abstract fun <A : R|kotlin/CharSequence!|, B : R|ft<kotlin/collections/MutableList<A!>, kotlin/collections/List<A!>?>|> method(a: R|ft<kotlin/Array<A!>, kotlin/Array<out A!>?>|, b: R|B!|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ public abstract interface SamSubinterfaceOfTwo : R|kotlin/Any| {
|
||||
|
||||
}
|
||||
public abstract interface Super2<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public abstract fun f(): R|ft<T & Any, T?>|
|
||||
public abstract fun f(): R|T!|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
public open class TypeParameterOfClass<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
||||
public open fun foo(comparator: R|ft<java/util/Comparator<ft<T & Any, T?>>, java/util/Comparator<ft<T & Any, T?>>?>|): R|kotlin/Unit|
|
||||
public open fun foo(comparator: R|ft<java/util/Comparator<T!>, java/util/Comparator<T!>?>|): R|kotlin/Unit|
|
||||
|
||||
public constructor<T : R|kotlin/Any!|>(): R|test/TypeParameterOfClass<T>|
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user