Switch kotlin version to 1.8

with appropriate fixes in testdata, tests and other
places.
This commit is contained in:
Ilya Chernikov
2022-06-09 17:07:50 +02:00
parent 7fa459044f
commit bb996c1b27
179 changed files with 1038 additions and 978 deletions
@@ -31,8 +31,8 @@ public final class Foo1 : java.util.ArrayList<kotlin.Int> {
invisible_fake open override /*1*/ /*fake_override*/ fun batchRemove(/*0*/ c: kotlin.collections.(Mutable)Collection<*>!, /*1*/ complement: kotlin.Boolean): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.Int): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.Int>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.Int!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.Int!>): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun elementData(/*0*/ index: kotlin.Int): kotlin.Int!
public open override /*1*/ /*fake_override*/ fun ensureCapacity(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun ensureCapacityInternal(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
@@ -42,21 +42,21 @@ public final class Foo1 : java.util.ArrayList<kotlin.Int> {
public open override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): kotlin.Int
invisible_fake open override /*1*/ /*fake_override*/ fun grow(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: kotlin.Int): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: kotlin.Int!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<kotlin.Int>
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: kotlin.Int): kotlin.Int
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: kotlin.Int!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<kotlin.Int>
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<kotlin.Int>
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ index: kotlin.Int): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheck(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: kotlin.Int): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.Int>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: kotlin.Int!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.Int!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): kotlin.Int
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.Int>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.Int!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.Int): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<kotlin.Int>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
@@ -22,10 +22,10 @@ fun <T> takes(range: T) {}
fun <T> takes(range: T) where T : Collection<*>, T: ClosedRange<*> {}
fun main() {
SmartList(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("fun <E> SmartList(x: Collection<E>): Unit")!>1..2<!>) // warning
SmartList(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..2<!>) // warning
SmartList<IntRange>(1..10) // no warning
append(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("fun append(x: Collection<*>): Unit")!>1..10<!>) // warning
append(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..10<!>) // warning
append((1..10) as Any) // no warning
append((1..10) as Iterable<Int>) // no warning
append("a".."z") // no warning, the range is not iterable
@@ -35,9 +35,9 @@ fun main() {
append3(In(1..10)) // no warning
append4(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("fun <E : Collection<*>> append4(x: E): Unit")!>1..10<!>) // warning
append4(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..10<!>) // warning
append4<IntRange>(1..10) // warning
takes(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("fun <T : Collection<*>> takes(range: T): Unit where T : ClosedRange<*>")!>1..10<!>) // warning
takes(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..10<!>) // warning
}
@@ -32,10 +32,10 @@ public class JavaSmartList <E> {
// FILE: main.kt
fun main() {
JavaSmartList(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("constructor JavaSmartList<E : Any!>(x: (Mutable)Collection<E!>!)")!>1..2<!>) // warning
JavaSmartList(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..2<!>) // warning
JavaSmartList<IntRange>(1..10) // no warning
JavaSmartList.append(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("fun append(x: (Mutable)Collection<*>!): Unit")!>1..10<!>) // warning
JavaSmartList.append(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..10<!>) // warning
JavaSmartList.append((1..10) as Any) // no warning
JavaSmartList.append((1..10) as Iterable<Int>) // no warning
JavaSmartList.append("a".."z") // no warning, the range is not iterable
@@ -45,9 +45,9 @@ fun main() {
JavaSmartList.append3(JavaSmartList.In(1..10)) // no warning
JavaSmartList.append4(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("fun <E : (Mutable)Collection<*>!> append4(x: E!): Unit")!>1..10<!>) // warning
JavaSmartList.append4(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..10<!>) // warning
JavaSmartList.append4<IntRange>(1..10) // warning
JavaSmartList.takes(<!PROGRESSIONS_CHANGING_RESOLVE_WARNING("fun <T : (Mutable)Collection<*>!> takes(x: T!): Unit where T : ClosedRange<*>!")!>1..10<!>) // warning
JavaSmartList.takes(<!PROGRESSIONS_CHANGING_RESOLVE_ERROR!>1..10<!>) // warning
}
@@ -33,7 +33,7 @@ fun test6() {}
annotation class AnnArray(val a: Array<String>)
@AnnArray(<!NON_VARARG_SPREAD_WARNING!>*<!>["/"])
@AnnArray(<!NON_VARARG_SPREAD_ERROR!>*<!>["/"])
fun testArray() {}
@Ann1(<!TYPE_MISMATCH, TYPE_MISMATCH!>[""]<!>)
@@ -5,8 +5,8 @@ const val myT = true
fun test(someBoolean: Boolean) {
val s = when (someBoolean) {
<!CONFUSING_BRANCH_CONDITION_WARNING!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_WARNING!>false && false<!> -> 2
<!CONFUSING_BRANCH_CONDITION_ERROR!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_ERROR!>false && false<!> -> 2
true -> 3
false -> 4
}
@@ -14,7 +14,7 @@ fun test(someBoolean: Boolean) {
fun test_2(someBoolean: Boolean) {
val s = <!NO_ELSE_IN_WHEN!>when<!> (someBoolean) {
<!CONFUSING_BRANCH_CONDITION_WARNING!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_WARNING!>false && false<!> -> 2
<!CONFUSING_BRANCH_CONDITION_ERROR!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_ERROR!>false && false<!> -> 2
}
}
@@ -5,8 +5,8 @@ const val myT = true
fun test(someBoolean: Boolean) {
val s = when (someBoolean) {
<!CONFUSING_BRANCH_CONDITION_WARNING, DUPLICATE_LABEL_IN_WHEN, NON_TRIVIAL_BOOLEAN_CONSTANT!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_WARNING, DUPLICATE_LABEL_IN_WHEN, NON_TRIVIAL_BOOLEAN_CONSTANT!>false && false<!> -> 2
<!CONFUSING_BRANCH_CONDITION_ERROR, DUPLICATE_LABEL_IN_WHEN, NON_TRIVIAL_BOOLEAN_CONSTANT!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_ERROR, DUPLICATE_LABEL_IN_WHEN, NON_TRIVIAL_BOOLEAN_CONSTANT!>false && false<!> -> 2
true -> 3
false -> 4
}
@@ -14,7 +14,7 @@ fun test(someBoolean: Boolean) {
fun test_2(someBoolean: Boolean) {
val s = when (someBoolean) {
<!CONFUSING_BRANCH_CONDITION_WARNING, NON_TRIVIAL_BOOLEAN_CONSTANT!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_WARNING, NON_TRIVIAL_BOOLEAN_CONSTANT!>false && false<!> -> 2
<!CONFUSING_BRANCH_CONDITION_ERROR, NON_TRIVIAL_BOOLEAN_CONSTANT!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_ERROR, NON_TRIVIAL_BOOLEAN_CONSTANT!>false && false<!> -> 2
}
}
@@ -6,8 +6,8 @@ const val myT = true
fun test(someBoolean: Boolean) {
val s = when (someBoolean) {
<!CONFUSING_BRANCH_CONDITION_WARNING!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_WARNING!>false && false<!> -> 2
<!CONFUSING_BRANCH_CONDITION_ERROR!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_ERROR!>false && false<!> -> 2
true -> 3
false -> 4
}
@@ -15,7 +15,7 @@ fun test(someBoolean: Boolean) {
fun test_2(someBoolean: Boolean) {
val s = <!NO_ELSE_IN_WHEN!>when<!> (someBoolean) {
<!CONFUSING_BRANCH_CONDITION_WARNING!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_WARNING!>false && false<!> -> 2
<!CONFUSING_BRANCH_CONDITION_ERROR!>true || true<!> -> 1
<!CONFUSING_BRANCH_CONDITION_ERROR!>false && false<!> -> 2
}
}
@@ -1,7 +1,7 @@
// SKIP_TXT
enum class A(val z: Any) {
Y(<!UNINITIALIZED_ENUM_COMPANION_WARNING, UNINITIALIZED_VARIABLE!>x<!>);
Y(<!UNINITIALIZED_ENUM_COMPANION, UNINITIALIZED_VARIABLE!>x<!>);
companion object {
val x = A.Y.ordinal
@@ -9,7 +9,7 @@ enum class A(val z: Any) {
}
enum class B(val z: Any) {
Y(<!UNINITIALIZED_ENUM_COMPANION_WARNING!>B<!>.x);
Y(<!UNINITIALIZED_ENUM_COMPANION!>B<!>.x);
companion object {
val x = B.Y.ordinal
@@ -9,7 +9,7 @@ enum class B(val x: Int) {
}
enum class C(val x: Int) {
C1(<!UNINITIALIZED_ENUM_COMPANION_WARNING, UNINITIALIZED_VARIABLE!>SUM<!>),
C1(<!UNINITIALIZED_ENUM_COMPANION, UNINITIALIZED_VARIABLE!>SUM<!>),
C2(1);
companion object {
@@ -32,8 +32,8 @@ enum class Fruit(personal: Int) {
// Another example from KT-11769
enum class EnumCompanion1(val x: Int) {
INSTANCE(<!UNINITIALIZED_ENUM_COMPANION, UNINITIALIZED_ENUM_COMPANION_WARNING!>Companion<!>.foo()),
ANOTHER(foo());
INSTANCE(<!UNINITIALIZED_ENUM_COMPANION!>Companion<!>.foo()),
ANOTHER(<!UNINITIALIZED_ENUM_COMPANION!>foo()<!>);
companion object {
fun foo() = 42
@@ -41,7 +41,7 @@ enum class EnumCompanion1(val x: Int) {
}
// Also should be reported for implicit receiver
enum class EnumCompanion2(val x: Int) {
INSTANCE(<!UNINITIALIZED_ENUM_COMPANION!>foo<!>());
INSTANCE(<!UNINITIALIZED_ENUM_COMPANION!>foo()<!>);
companion object {
fun foo() = 42
@@ -56,8 +56,8 @@ fun g6(): Unit = <!TYPE_MISMATCH!><!NO_ELSE_IN_WHEN!>when<!> { true -> 42 }<!>
fun foo1(x: String?) {
"" + <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
w@while (true) {
x ?: <!INVALID_IF_AS_EXPRESSION_WARNING!>if<!> (true) break
x ?: <!NO_ELSE_IN_WHEN_WARNING!>when<!> { true -> break@w }
x ?: <!INVALID_IF_AS_EXPRESSION!>if<!> (true) break
x ?: <!NO_ELSE_IN_WHEN!>when<!> { true -> break@w }
}
}
@@ -6,7 +6,7 @@ public fun process(/*0*/ x: Predicate<kotlin.String>): kotlin.Unit
public interface Predicate</*0*/ T : kotlin.CharSequence!> {
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 abstract operator fun invoke(/*0*/ @org.jetbrains.annotations.NotNull t: T): kotlin.Boolean
public abstract operator fun invoke(/*0*/ @org.jetbrains.annotations.NotNull t: T & Any): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -55,7 +55,7 @@ public open class Foo2</*0*/ T : kotlin.Any!> {
public open class Foo3</*0*/ T : kotlin.Any!> {
public constructor Foo3</*0*/ T : kotlin.Any!>()
@org.jetbrains.annotations.NotNull public final var value: T
@org.jetbrains.annotations.NotNull public final var value: T & 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 override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -55,7 +55,7 @@ public open class Foo2</*0*/ T : kotlin.Any!> {
public open class Foo3</*0*/ T : kotlin.Any!> {
public constructor Foo3</*0*/ T : kotlin.Any!>()
@org.jetbrains.annotations.NotNull public final var value: T
@org.jetbrains.annotations.NotNull public final var value: T & 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 override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+6 -6
View File
@@ -1,16 +1,16 @@
// WITH_STDLIB
fun doTheMapThing1(elements: List<CharSequence>): List<String> {
return elements.flatMap {
<!TYPE_MISMATCH_WARNING!>when (it) { // NullPointerException
return elements.<!CANDIDATE_CHOSEN_USING_OVERLOAD_RESOLUTION_BY_LAMBDA_ANNOTATION!>flatMap {
<!TYPE_MISMATCH!>when (it) { // NullPointerException
is String -> listOf("Yeah")
else -> null
}<!>
}
}<!>
}
fun doTheMapThing2(elements: List<CharSequence>): List<String> {
return elements.flatMap {
<!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH_WARNING!>if (it is String) listOf("Yeah") else null<!> // it's OK with `if`
}
return elements.<!CANDIDATE_CHOSEN_USING_OVERLOAD_RESOLUTION_BY_LAMBDA_ANNOTATION!>flatMap {
<!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>if (it is String) listOf("Yeah") else null<!> // it's OK with `if`
}<!>
}
@@ -13,8 +13,8 @@ public abstract class AL : java.util.ArrayList<p.P> {
invisible_fake open override /*1*/ /*fake_override*/ fun batchRemove(/*0*/ c: kotlin.collections.(Mutable)Collection<*>!, /*1*/ complement: kotlin.Boolean): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: p.P): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<p.P>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: p.P!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<p.P!>): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun elementData(/*0*/ index: kotlin.Int): p.P!
public open override /*1*/ /*fake_override*/ fun ensureCapacity(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun ensureCapacityInternal(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
@@ -24,21 +24,21 @@ public abstract class AL : java.util.ArrayList<p.P> {
public open override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): p.P
invisible_fake open override /*1*/ /*fake_override*/ fun grow(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: p.P): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: p.P!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<p.P>
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: p.P): kotlin.Int
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: p.P!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<p.P>
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<p.P>
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ index: kotlin.Int): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheck(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: p.P): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<p.P>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: p.P!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<p.P!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): p.P
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<p.P>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<p.P!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: p.P): p.P
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<p.P>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
@@ -11,9 +11,9 @@ public open class A {
public open class X</*0*/ T : kotlin.Any!> {
public constructor X</*0*/ T : kotlin.Any!>()
public/*package*/ open fun barN(/*0*/ @org.jetbrains.annotations.NotNull a: T): kotlin.Unit
public/*package*/ open fun barN(/*0*/ @org.jetbrains.annotations.NotNull a: T & Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.jetbrains.annotations.NotNull public/*package*/ open fun fooN(): T
@org.jetbrains.annotations.NotNull public/*package*/ open fun fooN(): T & Any
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -11,9 +11,9 @@ public open class A {
public open class X</*0*/ T : kotlin.Any!> {
public constructor X</*0*/ T : kotlin.Any!>()
public/*package*/ open fun barN(/*0*/ @org.jetbrains.annotations.NotNull a: T): kotlin.Unit
public/*package*/ open fun barN(/*0*/ @org.jetbrains.annotations.NotNull a: T & Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.jetbrains.annotations.NotNull public/*package*/ open fun fooN(): T
@org.jetbrains.annotations.NotNull public/*package*/ open fun fooN(): T & Any
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -6,7 +6,7 @@ public open class Box</*0*/ T : kotlin.Any!> {
public constructor Box</*0*/ T : 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 put(/*0*/ @org.jetbrains.annotations.NotNull t: T): kotlin.Unit
public open fun put(/*0*/ @org.jetbrains.annotations.NotNull t: T & Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
+7 -7
View File
@@ -13,8 +13,8 @@ public final class B2 : java.util.ArrayList<kotlin.String>, I2 {
invisible_fake open override /*1*/ /*fake_override*/ fun batchRemove(/*0*/ c: kotlin.collections.(Mutable)Collection<*>!, /*1*/ complement: kotlin.Boolean): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun elementData(/*0*/ index: kotlin.Int): kotlin.String!
public open override /*1*/ /*fake_override*/ fun ensureCapacity(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun ensureCapacityInternal(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
@@ -24,21 +24,21 @@ public final class B2 : java.util.ArrayList<kotlin.String>, I2 {
public open override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): kotlin.String
invisible_fake open override /*1*/ /*fake_override*/ fun grow(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: kotlin.String): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: kotlin.String!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<kotlin.String>
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: kotlin.String): kotlin.Int
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: kotlin.String!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<kotlin.String>
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<kotlin.String>
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ index: kotlin.Int): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheck(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: kotlin.String!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): kotlin.String
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String): kotlin.String
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<kotlin.String>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
@@ -9,6 +9,6 @@ public open class JClass {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
@org.jetbrains.annotations.NotNull public open fun </*0*/ T : kotlin.Any!> getNotNullT(): T
@org.jetbrains.annotations.NotNull public open fun </*0*/ T : kotlin.Any!> getNotNullT(): T & Any
}
@@ -1,9 +0,0 @@
class A {
operator fun rangeUntil(other: A): Iterable<A> = TODO()
}
fun main(n: A, f: A) {
for (i in f..<n) {
}
}
@@ -1,9 +1,10 @@
// FIR_IDENTICAL
class A {
<!UNSUPPORTED_FEATURE("The feature "range until operator" is only available since language version 1.8")!>operator<!> fun rangeUntil(other: A): Iterable<A> = TODO()
operator fun rangeUntil(other: A): Iterable<A> = TODO()
}
fun main(n: A, f: A) {
for (i in f<!UNSUPPORTED_FEATURE("The feature "range until operator" is only available since language version 1.8")!>..<<!>n) {
for (i in f..<n) {
}
}
@@ -1,11 +1,11 @@
// !LANGUAGE: -RangeUntilOperator
class A {
<!UNSUPPORTED_FEATURE("The feature "range until operator" is only available since language version 1.8")!>operator<!> fun rangeUntil(other: A): Iterable<A> = TODO()
<!UNSUPPORTED_FEATURE("The feature "range until operator" is disabled")!>operator<!> fun rangeUntil(other: A): Iterable<A> = TODO()
}
fun main(n: A, f: A) {
for (i in f<!UNSUPPORTED_FEATURE("The feature "range until operator" is only available since language version 1.8")!>..<<!>n) {
for (i in f<!UNSUPPORTED_FEATURE("The feature "range until operator" is disabled")!>..<<!>n) {
}
}
@@ -4,7 +4,7 @@ public fun test(): kotlin.Unit
public interface A</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(/*0*/ @org.jetbrains.annotations.NotNull x: T): kotlin.Unit
public abstract fun foo(/*0*/ @org.jetbrains.annotations.NotNull x: T & Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -20,7 +20,7 @@ public open class B</*0*/ E : kotlin.Any!> {
public open class C</*0*/ F : kotlin.Any!> : B<F!>, A<F!> {
public constructor C</*0*/ F : kotlin.Any!>()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ fun foo(/*0*/ x: F): kotlin.Unit
public open override /*2*/ fun foo(/*0*/ x: F & Any): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
@@ -9,7 +9,7 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun </*0*/ T : kotlin.Any!> bar(/*0*/ @org.jetbrains.annotations.NotNull x: T, /*1*/ y: T!): kotlin.Unit
public open fun </*0*/ T : kotlin.Any!> bar(/*0*/ @org.jetbrains.annotations.NotNull x: T & Any, /*1*/ y: T!): kotlin.Unit
public open fun platformString(): kotlin.String!
}
@@ -4,7 +4,7 @@ public fun test(): kotlin.Unit
public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
@org.jetbrains.annotations.NotNull public open fun bar(): T
@org.jetbrains.annotations.NotNull public open fun bar(): T & 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 override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -4,7 +4,7 @@ public fun test(): kotlin.Unit
public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
public open fun bar(/*0*/ @org.jetbrains.annotations.NotNull x: T): kotlin.Unit
public open fun bar(/*0*/ @org.jetbrains.annotations.NotNull x: T & Any): kotlin.Unit
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 override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -4,7 +4,7 @@ public fun test(/*0*/ a: A<out kotlin.CharSequence>): kotlin.Unit
public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
@org.jetbrains.annotations.NotNull public open fun bar(): T
@org.jetbrains.annotations.NotNull public open fun bar(): T & 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 override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -4,7 +4,7 @@ public fun test(): kotlin.Unit
public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
public open fun bar(/*0*/ @org.jetbrains.annotations.NotNull x: T): kotlin.Unit
public open fun bar(/*0*/ @org.jetbrains.annotations.NotNull x: T & Any): kotlin.Unit
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 override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -15,6 +15,6 @@ public open class J {
@org.jetbrains.annotations.NotNull public final var staticNN: J
public open fun </*0*/ T : kotlin.Any!> getAny(): T!
@org.jetbrains.annotations.Nullable public open fun </*0*/ T : kotlin.Any!> getNAny(): T?
@org.jetbrains.annotations.NotNull public open fun </*0*/ T : kotlin.Any!> getNNAny(): T
@org.jetbrains.annotations.NotNull public open fun </*0*/ T : kotlin.Any!> getNNAny(): T & Any
}
@@ -6,7 +6,7 @@ public fun main(): kotlin.Unit
public/*package*/ open class A</*0*/ T : kotlin.Any!> {
public/*package*/ constructor A</*0*/ T : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.jetbrains.annotations.NotNull public/*package*/ open fun foo(/*0*/ @org.jetbrains.annotations.NotNull x: T, /*1*/ @org.jetbrains.annotations.Nullable y: kotlin.collections.(Mutable)List<kotlin.String!>?): kotlin.collections.(Mutable)List<kotlin.String!>
@org.jetbrains.annotations.NotNull public/*package*/ open fun foo(/*0*/ @org.jetbrains.annotations.NotNull x: T & Any, /*1*/ @org.jetbrains.annotations.Nullable y: kotlin.collections.(Mutable)List<kotlin.String!>?): kotlin.collections.(Mutable)List<kotlin.String!>
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -33,13 +33,13 @@ public final class HashMapEx</*0*/ K, /*1*/ V> : java.util.HashMap<K, V>, ExtMap
invisible_fake open override /*1*/ /*fake_override*/ fun capacity(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*2*/ /*fake_override*/ fun containsKey(/*0*/ key: K): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun containsKey(/*0*/ key: K!): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun containsNullValue(): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun containsValue(/*0*/ value: V): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun containsValue(/*0*/ value: V!): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun createEntry(/*0*/ hash: kotlin.Int, /*1*/ key: K!, /*2*/ value: V!, /*3*/ bucketIndex: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun entrySet0(): kotlin.collections.(Mutable)Set<kotlin.collections.(Mutable)Map.(Mutable)Entry<K!, V!>!>!
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun get(/*0*/ key: K): V?
public open override /*2*/ /*fake_override*/ fun get(/*0*/ key: K!): V?
invisible_fake final override /*1*/ /*fake_override*/ fun getEntry(/*0*/ key: kotlin.Any!): java.util.HashMap.Entry<K!, V!>!
invisible_fake open override /*1*/ /*fake_override*/ fun getForNullKey(): V!
invisible_fake final override /*1*/ /*fake_override*/ fun hash(/*0*/ k: kotlin.Any!): kotlin.Int
@@ -58,7 +58,7 @@ public final class HashMapEx</*0*/ K, /*1*/ V> : java.util.HashMap<K, V>, ExtMap
invisible_fake open override /*1*/ /*fake_override*/ fun putForCreate(/*0*/ key: K!, /*1*/ value: V!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun putForNullKey(/*0*/ value: V!): V!
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: K): V?
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: K!): V?
invisible_fake final override /*1*/ /*fake_override*/ fun removeEntryForKey(/*0*/ key: kotlin.Any!): java.util.HashMap.Entry<K!, V!>!
invisible_fake final override /*1*/ /*fake_override*/ fun removeMapping(/*0*/ o: kotlin.Any!): java.util.HashMap.Entry<K!, V!>!
invisible_fake open override /*1*/ /*fake_override*/ fun resize(/*0*/ newCapacity: kotlin.Int): kotlin.Unit
@@ -2,7 +2,7 @@ package
public interface A</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(/*0*/ @org.jetbrains.annotations.NotNull x: T, /*1*/ @org.jetbrains.annotations.Nullable y: T?): kotlin.Unit
public abstract fun foo(/*0*/ @org.jetbrains.annotations.NotNull x: T & Any, /*1*/ @org.jetbrains.annotations.Nullable y: T?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
+7 -7
View File
@@ -44,8 +44,8 @@ package b {
invisible_fake open override /*1*/ /*fake_override*/ fun batchRemove(/*0*/ c: kotlin.collections.(Mutable)Collection<*>!, /*1*/ complement: kotlin.Boolean): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: java.lang.Integer): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<java.lang.Integer>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: java.lang.Integer!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<java.lang.Integer!>): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun elementData(/*0*/ index: kotlin.Int): java.lang.Integer!
public open override /*1*/ /*fake_override*/ fun ensureCapacity(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun ensureCapacityInternal(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
@@ -55,21 +55,21 @@ package b {
public open override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): java.lang.Integer
invisible_fake open override /*1*/ /*fake_override*/ fun grow(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: java.lang.Integer): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: java.lang.Integer!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<java.lang.Integer>
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: java.lang.Integer): kotlin.Int
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: java.lang.Integer!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<java.lang.Integer>
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<java.lang.Integer>
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ index: kotlin.Int): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheck(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: java.lang.Integer): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<java.lang.Integer>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: java.lang.Integer!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<java.lang.Integer!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): java.lang.Integer
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<java.lang.Integer>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<java.lang.Integer!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: java.lang.Integer): java.lang.Integer
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<java.lang.Integer>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
@@ -22,7 +22,7 @@ sealed class Case3 private constructor(val x: Int) {
class Inheritor2 : Case3("Hello")
}
class Case3Inheritor3 : Case3(<!ARGUMENT_TYPE_MISMATCH!>20<!>) // should be an error in 1.8
class Case3Inheritor3 : Case3(<!ARGUMENT_TYPE_MISMATCH!>20<!>)
sealed class Case4 {
protected constructor(x: Int)
@@ -22,7 +22,7 @@ sealed class Case3 private constructor(val x: Int) {
class Inheritor2 : Case3("Hello")
}
class Case3Inheritor3 : <!RESOLUTION_TO_PRIVATE_CONSTRUCTOR_OF_SEALED_CLASS!>Case3<!>(20) // should be an error in 1.8
class Case3Inheritor3 : <!INVISIBLE_MEMBER!>Case3<!>(20)
sealed class Case4 {
protected constructor(x: Int)
@@ -1,9 +0,0 @@
public fun foo(x: String?, y: String?): Int {
while (true) {
x ?: <!INVALID_IF_AS_EXPRESSION!>if<!> (y == null) break
// y is nullable if x != null
y<!UNSAFE_CALL!>.<!>length
}
// y is null because of the break
return y<!UNSAFE_CALL!>.<!>length
}
@@ -1,6 +1,7 @@
// FIR_IDENTICAL
public fun foo(x: String?, y: String?): Int {
while (true) {
x ?: <!INVALID_IF_AS_EXPRESSION_WARNING!>if<!> (y == null) break
x ?: <!INVALID_IF_AS_EXPRESSION!>if<!> (y == null) break
// y is nullable if x != null
y<!UNSAFE_CALL!>.<!>length
}
+7 -7
View File
@@ -15,8 +15,8 @@ public final class MyListOfPairs</*0*/ T> : java.util.ArrayList<Pair<T, T>> {
invisible_fake open override /*1*/ /*fake_override*/ fun batchRemove(/*0*/ c: kotlin.collections.(Mutable)Collection<*>!, /*1*/ complement: kotlin.Boolean): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: Pair<T, T>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<Pair<T, T>>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: Pair<T, T>!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<Pair<T, T>!>): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun elementData(/*0*/ index: kotlin.Int): Pair<T, T>!
public open override /*1*/ /*fake_override*/ fun ensureCapacity(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun ensureCapacityInternal(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
@@ -26,21 +26,21 @@ public final class MyListOfPairs</*0*/ T> : java.util.ArrayList<Pair<T, T>> {
public open override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): Pair<T, T>
invisible_fake open override /*1*/ /*fake_override*/ fun grow(/*0*/ minCapacity: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: Pair<T, T>): kotlin.Int
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: Pair<T, T>!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<Pair<T, T>>
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: Pair<T, T>): kotlin.Int
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: Pair<T, T>!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<Pair<T, T>>
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<Pair<T, T>>
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ index: kotlin.Int): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheck(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ index: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: Pair<T, T>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<Pair<T, T>>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ element: Pair<T, T>!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<Pair<T, T>!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): Pair<T, T>
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<Pair<T, T>>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<Pair<T, T>!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: Pair<T, T>): Pair<T, T>
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<Pair<T, T>>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
@@ -19,13 +19,13 @@ public final class MyHashMap : java.util.HashMap<kotlin.String, kotlin.String> {
invisible_fake open override /*1*/ /*fake_override*/ fun capacity(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String!): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun containsNullValue(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String!): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun createEntry(/*0*/ hash: kotlin.Int, /*1*/ key: kotlin.String!, /*2*/ value: kotlin.String!, /*3*/ bucketIndex: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun entrySet0(): kotlin.collections.(Mutable)Set<kotlin.collections.(Mutable)Map.(Mutable)Entry<kotlin.String!, kotlin.String!>!>!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String!): kotlin.String?
invisible_fake final override /*1*/ /*fake_override*/ fun getEntry(/*0*/ key: kotlin.Any!): java.util.HashMap.Entry<kotlin.String!, kotlin.String!>!
invisible_fake open override /*1*/ /*fake_override*/ fun getForNullKey(): kotlin.String!
public final fun getOrDefault(/*0*/ key: kotlin.String, /*1*/ defaultValue: kotlin.String): kotlin.String
@@ -45,7 +45,7 @@ public final class MyHashMap : java.util.HashMap<kotlin.String, kotlin.String> {
invisible_fake open override /*1*/ /*fake_override*/ fun putForCreate(/*0*/ key: kotlin.String!, /*1*/ value: kotlin.String!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun putForNullKey(/*0*/ value: kotlin.String!): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String!): kotlin.String?
invisible_fake final override /*1*/ /*fake_override*/ fun removeEntryForKey(/*0*/ key: kotlin.Any!): java.util.HashMap.Entry<kotlin.String!, kotlin.String!>!
invisible_fake final override /*1*/ /*fake_override*/ fun removeMapping(/*0*/ o: kotlin.Any!): java.util.HashMap.Entry<kotlin.String!, kotlin.String!>!
invisible_fake open override /*1*/ /*fake_override*/ fun resize(/*0*/ newCapacity: kotlin.Int): kotlin.Unit
@@ -16,6 +16,6 @@ fun foo() {
concurrent.remove(null, null)
// @PurelyImplements
concurrentHash.remove(<!NULL_FOR_NONNULL_TYPE!>null<!>, 1)
concurrentHash.remove(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
concurrentHash.remove(null, 1)
concurrentHash.remove(null, null)
}
@@ -22,7 +22,7 @@ fun foo(x: MutableMap<String, Int>, y: java.util.HashMap<String, Int>, z: java.u
y.remove("", 1)
y.remove("", <!TYPE_MISMATCH!>""<!>)
y.remove("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
y.remove("", null)
z.remove("", 1)
z.remove("", <!TYPE_MISMATCH!>""<!>)
@@ -14,7 +14,7 @@ public final class KotlinMap1</*0*/ K, /*1*/ V> : java.util.AbstractMap<K, V> {
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any!
public open override /*1*/ /*fake_override*/ fun compute(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V?, out V?>): V?
public open override /*1*/ /*fake_override*/ fun computeIfAbsent(/*0*/ p0: K!, /*1*/ p1: java.util.function.Function<in K!, out V!>): V!
public open override /*1*/ /*fake_override*/ fun computeIfPresent(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V, out V?>): V?
public open override /*1*/ /*fake_override*/ fun computeIfPresent(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V & Any, out V?>): V?
public open override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: K!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: V!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -23,7 +23,7 @@ public final class KotlinMap1</*0*/ K, /*1*/ V> : java.util.AbstractMap<K, V> {
@kotlin.SinceKotlin(version = "1.1") @kotlin.internal.PlatformDependent public open override /*1*/ /*fake_override*/ fun getOrDefault(/*0*/ key: K!, /*1*/ defaultValue: V!): V!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun merge(/*0*/ p0: K!, /*1*/ p1: V, /*2*/ p2: java.util.function.BiFunction<in V, in V, out V?>): V?
public open override /*1*/ /*fake_override*/ fun merge(/*0*/ p0: K!, /*1*/ p1: V & Any, /*2*/ p2: java.util.function.BiFunction<in V & Any, in V & Any, out V?>): V?
public open override /*1*/ /*fake_override*/ fun put(/*0*/ key: K!, /*1*/ value: V!): V?
public open override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<out K!, V!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun putIfAbsent(/*0*/ p0: K!, /*1*/ p1: V!): V?
+2 -2
View File
@@ -12,9 +12,9 @@ class Foo<T> {
fun use(arg: Array<String>, s: Collection<String>, x: Foo<String>) {
arr(<!NON_VARARG_SPREAD_ERROR!>*<!>arg)
arr(<!NON_VARARG_SPREAD_WARNING!>*<!>s.toArray())
arr(<!NON_VARARG_SPREAD_ERROR!>*<!>s.toArray())
arr(<!NON_VARARG_SPREAD_ERROR!>*<!>s.toArray2())
arr(<!NON_VARARG_SPREAD_WARNING!>*<!>toArray3(s))
arr(<!NON_VARARG_SPREAD_ERROR!>*<!>toArray3(s))
arr(<!NON_VARARG_SPREAD_ERROR!>*<!>x + x)
arr(<!NON_VARARG_SPREAD_ERROR!>*<!>(x + x))
}