Adjust test data for postponing ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated

^KT-55357 Related
^KT-36770 Related
This commit is contained in:
Denis.Zharkov
2021-08-11 17:43:49 +03:00
committed by Space Team
parent d34bd2e8c0
commit cd0d6d2773
72 changed files with 334 additions and 165 deletions
@@ -6,7 +6,7 @@ public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
@org.checkerframework.checker.nullness.qual.Nullable public final var field: @org.checkerframework.checker.nullness.qual.Nullable kotlin.String?
@org.checkerframework.checker.nullness.qual.NonNull public open fun bar(): @org.checkerframework.checker.nullness.qual.NonNull kotlin.String
@org.checkerframework.checker.nullness.qual.Nullable public open fun baz(/*0*/ @org.checkerframework.checker.nullness.qual.NonNull x: @org.checkerframework.checker.nullness.qual.NonNull T & Any): @org.checkerframework.checker.nullness.qual.Nullable T?
@org.checkerframework.checker.nullness.qual.Nullable public open fun baz(/*0*/ @org.checkerframework.checker.nullness.qual.NonNull x: @org.checkerframework.checker.nullness.qual.NonNull T): @org.checkerframework.checker.nullness.qual.Nullable T?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.checkerframework.checker.nullness.qual.Nullable public open fun foo(/*0*/ @org.checkerframework.checker.nullness.qual.NonNull x: @org.checkerframework.checker.nullness.qual.NonNull kotlin.String, /*1*/ @org.checkerframework.checker.nullness.qual.Nullable y: @org.checkerframework.checker.nullness.qual.Nullable kotlin.CharSequence?): @org.checkerframework.checker.nullness.qual.Nullable kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -6,7 +6,7 @@ public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
@org.eclipse.jdt.annotation.Nullable public final var field: @org.eclipse.jdt.annotation.Nullable kotlin.String?
@org.eclipse.jdt.annotation.NonNull public open fun bar(): @org.eclipse.jdt.annotation.NonNull kotlin.String
@org.eclipse.jdt.annotation.Nullable public open fun baz(/*0*/ @org.eclipse.jdt.annotation.NonNull x: @org.eclipse.jdt.annotation.NonNull T & Any): @org.eclipse.jdt.annotation.Nullable T?
@org.eclipse.jdt.annotation.Nullable public open fun baz(/*0*/ @org.eclipse.jdt.annotation.NonNull x: @org.eclipse.jdt.annotation.NonNull T): @org.eclipse.jdt.annotation.Nullable T?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.eclipse.jdt.annotation.Nullable public open fun foo(/*0*/ @org.eclipse.jdt.annotation.NonNull x: @org.eclipse.jdt.annotation.NonNull kotlin.String, /*1*/ @org.eclipse.jdt.annotation.Nullable y: @org.eclipse.jdt.annotation.Nullable kotlin.CharSequence?): @org.eclipse.jdt.annotation.Nullable kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -0,0 +1,36 @@
// JSPECIFY_STATE: strict
// FILE: NullnessUnspecifiedTypeParameter.java
import org.jspecify.nullness.*;
@NullMarked
public class NullnessUnspecifiedTypeParameter<T> {
public void foo(T t) {}
public void bar(Test s, T t) {} // t should not become not nullable
}
// FILE: Test.java
public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch
fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeParameter<<!UPPER_BOUND_VIOLATED!>Any?<!>>, x: Test): Unit {
// jspecify_nullness_mismatch
a1.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.foo(1)
a2.foo(null)
a2.foo(1)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a1.bar(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
a1.bar(x, <!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.bar(x, 1)
// jspecify_nullness_mismatch
a2.bar(<!NULL_FOR_NONNULL_TYPE!>null<!>, null)
a2.bar(x, null)
a2.bar(x, 1)
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// JSPECIFY_STATE: strict
// FILE: NullnessUnspecifiedTypeParameter.java
@@ -21,7 +20,8 @@ fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeP
a1.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.foo(1)
a2.foo(null)
// jspecify_nullness_mismatch
a2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.foo(1)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
@@ -30,8 +30,9 @@ fun main(a1: NullnessUnspecifiedTypeParameter<Any>, a2: NullnessUnspecifiedTypeP
a1.bar(x, <!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.bar(x, 1)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a2.bar(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch
a2.bar(<!NULL_FOR_NONNULL_TYPE!>null<!>, null)
a2.bar(x, null)
a2.bar(x, <!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.bar(x, 1)
}
@@ -0,0 +1,56 @@
// JSPECIFY_STATE: strict
// FILE: SelfType.java
import org.jspecify.nullness.*;
@NullMarked
public class SelfType<T extends SelfType<T>> {
public void foo(T t) {}
}
// FILE: B.java
public class B extends SelfType<B> {}
// FILE: C.java
import org.jspecify.nullness.*;
@NullMarked
public class C<E extends C<E>> extends SelfType<E> {}
// FILE: AK.java
public class AK extends SelfType<AK> {}
// FILE: AKN.java
import org.jspecify.nullness.*;
public class AKN extends SelfType<@Nullable AK> {}
// FILE: BK.java
public class BK extends B {}
// FILE: CK.java
public class CK extends C<CK> {}
// FILE: CKN.java
import org.jspecify.nullness.*;
public class CKN extends C<@Nullable CK> {}
// FILE: main.kt
fun main(ak: AK, akn: AKN, bk: BK, ck: CK, ckn: CKN): Unit {
ak.foo(ak)
// jspecify_nullness_mismatch
ak.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
akn.foo(null)
bk.foo(bk)
// jspecify_nullness_mismatch
bk.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
ck.foo(ck)
// jspecify_nullness_mismatch
ck.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
ckn.foo(null)
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// JSPECIFY_STATE: strict
// FILE: SelfType.java
@@ -43,7 +42,8 @@ fun main(ak: AK, akn: AKN, bk: BK, ck: CK, ckn: CKN): Unit {
// jspecify_nullness_mismatch
ak.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
akn.foo(null)
// jspecify_nullness_mismatch
akn.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
bk.foo(bk)
// jspecify_nullness_mismatch
@@ -53,5 +53,6 @@ fun main(ak: AK, akn: AKN, bk: BK, ck: CK, ckn: CKN): Unit {
// jspecify_nullness_mismatch
ck.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
ckn.foo(null)
// jspecify_nullness_mismatch
ckn.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
}
@@ -13,7 +13,7 @@ public open class AK : SelfType<AK> {
public open class AKN : SelfType<@org.jspecify.nullness.Nullable AK?> {
public constructor AKN()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ t: @org.jspecify.nullness.Nullable AK?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ t: @org.jspecify.nullness.Nullable AK): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -53,7 +53,7 @@ public open class CK : C<CK> {
public open class CKN : C<@org.jspecify.nullness.Nullable CK?> {
public constructor CKN()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ t: @org.jspecify.nullness.Nullable CK?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ t: @org.jspecify.nullness.Nullable CK): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,46 @@
// JSPECIFY_STATE: strict
// FILE: A.java
import org.jspecify.nullness.*;
@NullMarked
public class A<T> {
public void foo(@NullnessUnspecified T t) {}
public <E> void bar(E e) {}
}
// FILE: B.java
import org.jspecify.nullness.*;
@NullMarked
public class B<T> {
public void foo(T t) {}
public <E> void bar(E e) {}
}
// FILE: Test.java
public class Test {}
// FILE: main.kt
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
fun <T : Test> main(a1: A<<!UPPER_BOUND_VIOLATED!>Any?<!>>, a2: A<Test>, b1: B<<!UPPER_BOUND_VIOLATED!>Any?<!>>, b2: B<Test>, x: T): Unit {
a1.foo(null)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a1.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a1.bar<T>(x)
a2.foo(null)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a2.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.bar<T>(x)
b1.foo(null)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b1.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b1.bar<T>(x)
// jspecify_nullness_mismatch
b2.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b2.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b2.bar<T>(x)
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// JSPECIFY_STATE: strict
// FILE: A.java
@@ -34,7 +33,8 @@ fun <T : Test> main(a1: A<<!UPPER_BOUND_VIOLATED!>Any?<!>>, a2: A<Test>, b1: B<<
a2.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
a2.bar<T>(x)
b1.foo(null)
// jspecify_nullness_mismatch
b1.foo(<!NULL_FOR_NONNULL_TYPE!>null<!>)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b1.bar<<!UPPER_BOUND_VIOLATED!>T?<!>>(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b1.bar<T>(x)
@@ -43,8 +43,7 @@ fun main(ak: AK, akn: AKN, bk: BK, ck: CK, ckn: CKN): Unit {
// jspecify_nullness_mismatch
ak.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch
akn.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>) // the corresponding warning/error is present on the Java side
akn.foo(null) // the corresponding warning/error is present on the Java side
bk.foo(bk)
// jspecify_nullness_mismatch
@@ -54,6 +53,5 @@ fun main(ak: AK, akn: AKN, bk: BK, ck: CK, ckn: CKN): Unit {
// jspecify_nullness_mismatch
ck.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch
ckn.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>) // the corresponding warning/error is present on the Java side
ckn.foo(null) // the corresponding warning/error is present on the Java side
}
@@ -23,24 +23,24 @@ public class Test {}
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
fun <T : Test> main(a1: A<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, a2: A<Test>, b1: B<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>Any?<!>>, b2: B<Test>, x: T): Unit {
a1.foo(null)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a1.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch
a1.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(null)
a1.bar<T>(x)
a2.foo(null)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
a2.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch
a2.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(null)
a2.bar<T>(x)
// jspecify_nullness_mismatch
b1.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b1.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch
b1.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(null)
b1.bar<T>(x)
// jspecify_nullness_mismatch
b2.foo(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch, jspecify_nullness_mismatch
b2.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)
// jspecify_nullness_mismatch
b2.bar<<!UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS!>T?<!>>(null)
b2.bar<T>(x)
}
@@ -16,10 +16,10 @@ public open class L</*0*/ T : kotlin.collections.(Mutable)Map<kotlin.String!, S!
public constructor L</*0*/ T : kotlin.collections.(Mutable)Map<kotlin.String!, S!>!, /*1*/ S : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun s(): S & Any
public open fun setS(/*0*/ s: S & Any): kotlin.Unit
public open fun s(): S
public open fun setS(/*0*/ s: S): kotlin.Unit
public open fun setT(/*0*/ @spr.Nullable t: @spr.Nullable T?): kotlin.Unit
public open fun t(): T & Any
public open fun t(): T
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -62,10 +62,10 @@ package test {
public constructor L</*0*/ T : kotlin.collections.(Mutable)Map<kotlin.String!, S!>!, /*1*/ S : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun s(): S & Any
public open fun setS(/*0*/ s: S & Any): kotlin.Unit
public open fun s(): S
public open fun setS(/*0*/ s: S): kotlin.Unit
public open fun setT(/*0*/ @spr.Nullable t: @spr.Nullable T?): kotlin.Unit
public open fun t(): T & Any
public open fun t(): T
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -32,38 +32,38 @@ public abstract class MyCollection</*0*/ E : kotlin.Any!> : java.util.AbstractCo
invisible_fake open override /*1*/ /*fake_override*/ fun hugeCapacity(/*0*/ p0: kotlin.Int): kotlin.Int
}
public abstract class MyList</*0*/ E : kotlin.Any!> : MyCollection<E!>, kotlin.collections.MutableList<@org.jetbrains.annotations.NotNull E & Any> {
public abstract class MyList</*0*/ E : kotlin.Any!> : MyCollection<E!>, kotlin.collections.MutableList<@org.jetbrains.annotations.NotNull E> {
public constructor MyList</*0*/ E : kotlin.Any!>()
public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
public open override /*2*/ /*fake_override*/ fun add(/*0*/ element: E & Any): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: @org.jetbrains.annotations.NotNull E & Any): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<@org.jetbrains.annotations.NotNull E & Any>): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E & Any>): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun add(/*0*/ element: E): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: @org.jetbrains.annotations.NotNull E): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<@org.jetbrains.annotations.NotNull E>): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun clear(): kotlin.Unit
@java.lang.Override public open override /*2*/ fun contains(/*0*/ element: E!): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E!>): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): @org.jetbrains.annotations.NotNull E & Any
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): @org.jetbrains.annotations.NotNull E
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: @org.jetbrains.annotations.NotNull E & Any): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: @org.jetbrains.annotations.NotNull E): kotlin.Int
public open override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract override /*2*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<E & Any>
public abstract override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: @org.jetbrains.annotations.NotNull E & Any): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<@org.jetbrains.annotations.NotNull E & Any>
public abstract override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<@org.jetbrains.annotations.NotNull E & Any>
public open override /*2*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E & Any>
public abstract override /*2*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<E>
public abstract override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: @org.jetbrains.annotations.NotNull E): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<@org.jetbrains.annotations.NotNull E>
public abstract override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<@org.jetbrains.annotations.NotNull E>
public open override /*2*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E>
public open override /*2*/ /*fake_override*/ fun remove(/*0*/ element: E!): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<E!>): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): @org.jetbrains.annotations.NotNull E & Any
public open override /*2*/ /*fake_override*/ fun removeIf(/*0*/ p0: java.util.function.Predicate<in E & Any>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun replaceAll(/*0*/ p0: java.util.function.UnaryOperator<@org.jetbrains.annotations.NotNull E & Any>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): @org.jetbrains.annotations.NotNull E
public open override /*2*/ /*fake_override*/ fun removeIf(/*0*/ p0: java.util.function.Predicate<in E>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun replaceAll(/*0*/ p0: java.util.function.UnaryOperator<@org.jetbrains.annotations.NotNull E>): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<E!>): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: @org.jetbrains.annotations.NotNull E & Any): @org.jetbrains.annotations.NotNull E & Any
public open override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun sort(/*0*/ p0: java.util.Comparator<in (@org.jetbrains.annotations.NotNull E & Any..@org.jetbrains.annotations.NotNull E?)>!): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: @org.jetbrains.annotations.NotNull E): @org.jetbrains.annotations.NotNull E
public open override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun sort(/*0*/ p0: java.util.Comparator<in @org.jetbrains.annotations.NotNull E!>!): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<E!>
public open override /*2*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E & Any>
public abstract override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<@org.jetbrains.annotations.NotNull E & Any>
public open override /*2*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E>
public abstract override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<@org.jetbrains.annotations.NotNull E>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
@@ -17,18 +17,18 @@ public/*package*/ open class Outer {
public/*package*/ open inner class B : Outer.A {
public/*package*/ constructor B()
@java.lang.Override @org.checkerframework.checker.nullness.qual.Nullable public/*package*/ open override /*1*/ fun </*0*/ R : kotlin.Any!> bar(/*0*/ @org.checkerframework.checker.nullness.qual.NonNull x: @org.checkerframework.checker.nullness.qual.NonNull Y<@org.checkerframework.checker.nullness.qual.NonNull R & Any>): @org.checkerframework.checker.nullness.qual.Nullable X<@org.checkerframework.checker.nullness.qual.Nullable R!>?
@java.lang.Override @org.checkerframework.checker.nullness.qual.Nullable public/*package*/ open override /*1*/ fun </*0*/ R : kotlin.Any!> bar(/*0*/ @org.checkerframework.checker.nullness.qual.NonNull x: @org.checkerframework.checker.nullness.qual.NonNull Y<@org.checkerframework.checker.nullness.qual.NonNull R>): @org.checkerframework.checker.nullness.qual.Nullable X<@org.checkerframework.checker.nullness.qual.Nullable R!>?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@java.lang.Override @org.checkerframework.checker.nullness.qual.NonNull public/*package*/ open override /*1*/ fun </*0*/ T1 : kotlin.Any!, /*1*/ T2 : kotlin.Any!> foo(/*0*/ @org.checkerframework.checker.nullness.qual.Nullable x: @org.checkerframework.checker.nullness.qual.Nullable T1?): @org.checkerframework.checker.nullness.qual.NonNull T2 & Any
@java.lang.Override @org.checkerframework.checker.nullness.qual.NonNull public/*package*/ open override /*1*/ fun </*0*/ T1 : kotlin.Any!, /*1*/ T2 : kotlin.Any!> foo(/*0*/ @org.checkerframework.checker.nullness.qual.Nullable x: @org.checkerframework.checker.nullness.qual.Nullable T1?): @org.checkerframework.checker.nullness.qual.NonNull T2
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public/*package*/ open inner class C : Outer.B {
public/*package*/ constructor C()
@java.lang.Override public/*package*/ open override /*1*/ fun </*0*/ E : kotlin.Any!> bar(/*0*/ x: Y<E & Any>): X<E!>?
@java.lang.Override public/*package*/ open override /*1*/ fun </*0*/ E : kotlin.Any!> bar(/*0*/ x: Y<E>): X<E!>?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@java.lang.Override public/*package*/ open override /*1*/ fun </*0*/ I : kotlin.Any!, /*1*/ J : kotlin.Any!> foo(/*0*/ x: I?): J & Any
@java.lang.Override public/*package*/ open override /*1*/ fun </*0*/ I : kotlin.Any!, /*1*/ J : kotlin.Any!> foo(/*0*/ x: I?): J
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -37,7 +37,7 @@ public/*package*/ open class Outer {
public/*package*/ constructor D()
@java.lang.Override @org.checkerframework.checker.nullness.qual.NonNull public/*package*/ open override /*1*/ fun </*0*/ F : kotlin.Any!> bar(/*0*/ @org.checkerframework.checker.nullness.qual.Nullable x: @org.checkerframework.checker.nullness.qual.Nullable Y<@org.checkerframework.checker.nullness.qual.Nullable F!>!): @org.checkerframework.checker.nullness.qual.NonNull X<@org.checkerframework.checker.nullness.qual.NonNull F!>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@java.lang.Override @org.checkerframework.checker.nullness.qual.NonNull public/*package*/ open override /*1*/ fun </*0*/ U : kotlin.Any!, /*1*/ W : kotlin.Any!> foo(/*0*/ @org.checkerframework.checker.nullness.qual.Nullable x: @org.checkerframework.checker.nullness.qual.Nullable U?): @org.checkerframework.checker.nullness.qual.NonNull W & Any
@java.lang.Override @org.checkerframework.checker.nullness.qual.NonNull public/*package*/ open override /*1*/ fun </*0*/ U : kotlin.Any!, /*1*/ W : kotlin.Any!> foo(/*0*/ @org.checkerframework.checker.nullness.qual.Nullable x: @org.checkerframework.checker.nullness.qual.Nullable U?): @org.checkerframework.checker.nullness.qual.NonNull W
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}