Fix test data for definitelyNotNullType

This commit is contained in:
Denis.Zharkov
2021-07-23 21:47:57 +03:00
committed by Mikhael Bogdanov
parent 8f484fcf88
commit d2ad421e0b
20 changed files with 68 additions and 68 deletions
@@ -116,8 +116,8 @@ public final class Main</*0*/ L> {
public constructor Main</*0*/ L>(/*0*/ x: L?, /*1*/ y: L)
public final val vx01: Foo<Bar<L>>
public final val vx02: Foo<Bar<L>>
public final val vx11: OutBar<Bar<out OutBar<L>>>
public final val vx12: OutBar<Bar<out OutBar<L>>>
public final val vx11: OutBar<Bar<out OutBar<L!!>>>
public final val vx12: OutBar<Bar<out OutBar<L!!>>>
public final val vx21: OutBar<Bar<in OutBar<L>>>
public final val vx22: OutBar<Bar<in OutBar<L>>>
public final val x00: Bar<L>
@@ -128,12 +128,12 @@ public final class Main</*0*/ L> {
public final val x11: Foo<Bar<L>>
public final val x110: Bar<L>
public final val x111: Bar<L>
public final val x12: Foo<out Bar<out L>>
public final val x120: Bar<out L>
public final val x121: Bar<out L>
public final val x12: Foo<Bar<L!!>>
public final val x120: Bar<L!!>
public final val x121: Bar<L!!>
public final val x122: Bar<L>
public final val x123: Bar<L>
public final val x13: Foo<out Bar<out L>>
public final val x13: Foo<Bar<L!!>>
public final val x133: Bar<L?>
public final val x135: Bar<L>
public final val x137: Bar<L>
@@ -146,8 +146,8 @@ public final class Main</*0*/ L> {
public final val x154: Bar<L?>
public final val x161: Bar<L>
public final val x162: Bar<L>
public final val x163: Bar<out L>
public final val x164: Bar<out L>
public final val x163: Bar<L!!>
public final val x164: Bar<L!!>
public final val x170: Bar<L>
public final val x171: Bar<L>
public final val x180: [ERROR : <ERROR FUNCTION RETURN TYPE>]
@@ -164,24 +164,24 @@ public final class Main</*0*/ L> {
public final val x231: Foo<Foo<Bar<out L>>>
public final val x240: Foo<Foo<Bar<in L>>>
public final val x241: Foo<Foo<Bar<in L>>>
public final val x250: Bar<out L>
public final val x251: Bar<out L>
public final val x260: Foo<out Foo<out Bar<out L>>>
public final val x261: Foo<out Foo<out Bar<out L>>>
public final val x250: Bar<out L!!>
public final val x251: Bar<out L!!>
public final val x260: Foo<out Foo<out Bar<out L!!>>>
public final val x261: Foo<out Foo<out Bar<out L!!>>>
public final val x270: Foo<out Foo<Bar<out L>>>
public final val x271: Foo<out Foo<Bar<out L>>>
public final val x280: OutBar<OutBar<OutBar<L>>>
public final val x281: OutBar<OutBar<OutBar<L>>>
public final val x280: OutBar<OutBar<OutBar<L!!>>>
public final val x281: OutBar<OutBar<OutBar<L!!>>>
public final val x290: OutBar<Bar<OutBar<L>>>
public final val x291: OutBar<Bar<OutBar<L>>>
public final val x30: Foo<Bar<L>>
public final val x300: OutBar<Bar<out OutBar<L>>>
public final val x301: OutBar<Bar<out OutBar<L>>>
public final val x300: OutBar<Bar<out OutBar<L!!>>>
public final val x301: OutBar<Bar<out OutBar<L!!>>>
public final val x31: Foo<Bar<L>>
public final val x310: Bar<out L>
public final val x311: Bar<out L>
public final val x320: OutBar<L>
public final val x321: OutBar<L>
public final val x310: OutBarAliasUseSite<L!!> /* = Bar<out L!!> */
public final val x311: OutBarAliasUseSite<L!!> /* = Bar<out L!!> */
public final val x320: OutBarAliasDecSite<L!!> /* = OutBar<L!!> */
public final val x321: OutBarAliasDecSite<L!!> /* = OutBar<L!!> */
public final val x330: OutBar<InBar<OutBar<L>>>
public final val x331: OutBar<InBar<OutBar<L>>>
public final val x340: OutBar<Bar<in OutBar<L>>>
@@ -212,15 +212,15 @@ public final class Main</*0*/ L> {
public final val x451: OutBar<OutBar<Bar<L>>>
public final val x460: Bar<OutBar<OutBar<L>>>
public final val x461: Bar<OutBar<OutBar<L>>>
public final val x470: OutBar<OutBar<OutBar<L>>>
public final val x471: OutBar<OutBar<OutBar<L>>>
public final val x470: OutBar<OutBar<OutBar<L!!>>>
public final val x471: OutBar<OutBar<OutBar<L!!>>>
public final val x480: Bar<L>
public final val x481: Bar<L>
public final val x482: Bar<kotlin.Nothing>
public final val x50: Bar<in L>
public final val x51: Bar<in L>
public final val x60: OutBar<L>
public final val x61: OutBar<L>
public final val x60: OutBar<L!!>
public final val x61: OutBar<L!!>
public final val x70: InBar<L>
public final val x71: InBar<L>
public final val x80: Foo<Bar<L>>
@@ -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!!): 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!!
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!!): 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!!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -9,5 +9,5 @@ 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!!
}
@@ -9,6 +9,6 @@ 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!!, /*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!!
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!!): 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!!
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!!): 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,5 +15,5 @@ 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!!
}
@@ -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!!, /*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
}
@@ -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!!, /*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
}
@@ -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!!, 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!!, /*2*/ p2: java.util.function.BiFunction<in V!!, in V!!, 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?
@@ -22,7 +22,7 @@ public open class SmartFMap</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> : kotl
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: K!): V?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open fun plus(/*0*/ @org.jetbrains.annotations.NotNull key: K, /*1*/ value: V!): SmartFMap<K!, V!>!
public open fun plus(/*0*/ @org.jetbrains.annotations.NotNull key: K!!, /*1*/ value: V!): SmartFMap<K!, V!>!
public abstract override /*1*/ /*fake_override*/ fun put(/*0*/ key: K!, /*1*/ value: V!): V?
public abstract override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<out K!, V!>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ key: K!): V?
@@ -1,34 +1,34 @@
fun valuesNotNull(map: MutableMap<Int, String>) {
map.computeIfPresent(1) { k, v -> v.length.toString() ?: null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun valuesNullable(map: MutableMap<Int, String?>) {
map.computeIfPresent(1) { k, v -> v?.length?.toString() }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun <T : String?> valuesT(map: MutableMap<Int, T>, newValue: T) {
map.computeIfPresent(1) { k, v -> v?.length.toString() ?: null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T!!, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNotNull(map: MutableMap<Int, T>, newValue: T) {
map.computeIfPresent(1) { k, v -> null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNullable(map: MutableMap<Int, T?>, newValue: T?) {
map.computeIfPresent(1) { k, v -> null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T!!, out T?>): T? defined in kotlin.collections.MutableMap
}
@@ -1,42 +1,42 @@
fun valuesNotNull(map: MutableMap<Int, String>) {
map.merge(1, "x") { old, new -> old + new }
// SUCCESS
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V!!, BiFunction<in V!!, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, String, BiFunction<in String, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun valuesNullable(map: MutableMap<Int, String?>) {
map.merge(1, "x") { old, new -> old + new }
// SUCCESS
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V!!, BiFunction<in V!!, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, String, BiFunction<in String, in String, out String?>): String? defined in kotlin.collections.MutableMap
map.merge(1, null) { old, new -> old + new }
// UNSAFE_CALL_ERROR
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V!!, BiFunction<in V!!, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, String, BiFunction<in String, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun <T> valuesT(map: MutableMap<Int, T>, newValue: T) {
map.merge(1, newValue) { old, new -> null }
// SUCCESS
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
// OTHER_ERROR
// ORIGINAL: fun merge(K, V!!, BiFunction<in V!!, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T!!, BiFunction<in T!!, in T!!, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNotNull(map: MutableMap<Int, T>, newValue: T) {
map.merge(1, newValue) { old, new -> null }
// SUCCESS
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V!!, BiFunction<in V!!, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNullable(map: MutableMap<Int, T?>, newValue: T?) {
map.merge(1, newValue) { old, new -> new }
// UNSAFE_CALL_ERROR
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V!!, BiFunction<in V!!, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T!!, BiFunction<in T!!, in T!!, out T?>): T? defined in kotlin.collections.MutableMap
map.merge(1, newValue!!) { old, new -> new }
// SUCCESS
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V!!, BiFunction<in V!!, in V!!, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T!!, BiFunction<in T!!, in T!!, out T?>): T? defined in kotlin.collections.MutableMap
}
@@ -3,11 +3,11 @@ import java.util.*
fun use() {
Optional.empty<String>()
// SUCCESS
// ORIGINAL: fun <T : Any!> empty(): Optional<T> defined in java.util.Optional
// ORIGINAL: fun <T : Any!> empty(): Optional<T!!> defined in java.util.Optional
// SUBSTITUTED: fun <T : Any!> empty(): Optional<String> defined in java.util.Optional
Optional.empty<String?>()
// SUCCESS
// ORIGINAL: fun <T : Any!> empty(): Optional<T> defined in java.util.Optional
// ORIGINAL: fun <T : Any!> empty(): Optional<T!!> defined in java.util.Optional
// SUBSTITUTED: fun <T : Any!> empty(): Optional<String> defined in java.util.Optional
}
@@ -3,14 +3,14 @@ import java.util.*
fun use(v: Optional<String>) {
v.get()
// SUCCESS
// ORIGINAL: fun get(): T defined in java.util.Optional
// ORIGINAL: fun get(): T!! defined in java.util.Optional
// SUBSTITUTED: fun get(): String defined in java.util.Optional
}
fun use2(v: Optional<String?>) {
v.get()
// SUCCESS
// ORIGINAL: fun get(): T defined in java.util.Optional
// ORIGINAL: fun get(): T!! defined in java.util.Optional
// SUBSTITUTED: fun get(): String defined in java.util.Optional
}
@@ -3,14 +3,14 @@ import java.util.*
fun use(v: Optional<String>) {
v.ifPresent { value -> }
// SUCCESS
// ORIGINAL: fun ifPresent(Consumer<in T>): Unit defined in java.util.Optional
// ORIGINAL: fun ifPresent(Consumer<in T!!>): Unit defined in java.util.Optional
// SUBSTITUTED: fun ifPresent(Consumer<in String>): Unit defined in java.util.Optional
}
fun use2(v: Optional<String?>) {
v.ifPresent { value -> }
// SUCCESS
// ORIGINAL: fun ifPresent(Consumer<in T>): Unit defined in java.util.Optional
// ORIGINAL: fun ifPresent(Consumer<in T!!>): Unit defined in java.util.Optional
// SUBSTITUTED: fun ifPresent(Consumer<in String>): Unit defined in java.util.Optional
}
@@ -3,17 +3,17 @@ import java.util.*
fun use() {
val x: String? = "x"
Optional.of(x)
// UNSAFE_CALL_ERROR
// ORIGINAL: fun <T : Any!> of(T): Optional<T> defined in java.util.Optional
// SUCCESS
// ORIGINAL: fun <T : Any!> of(T!!): Optional<T!!> defined in java.util.Optional
// SUBSTITUTED: fun <T : Any!> of(String): Optional<String> defined in java.util.Optional
Optional.of(x!!)
// SUCCESS
// ORIGINAL: fun <T : Any!> of(T): Optional<T> defined in java.util.Optional
// ORIGINAL: fun <T : Any!> of(T!!): Optional<T!!> defined in java.util.Optional
// SUBSTITUTED: fun <T : Any!> of(String): Optional<String> defined in java.util.Optional
Optional.ofNullable(x)
// SUCCESS
// ORIGINAL: fun <T : Any!> ofNullable(T?): Optional<T> defined in java.util.Optional
// ORIGINAL: fun <T : Any!> ofNullable(T?): Optional<T!!> defined in java.util.Optional
// SUBSTITUTED: fun <T : Any!> ofNullable(String?): Optional<String> defined in java.util.Optional
}