[FIR] Apply GOOD testData changes after type parameters support

This commit is contained in:
simon.ogorodnik
2020-04-07 00:15:40 +03:00
parent 797b58669b
commit 132c8ee210
45 changed files with 185 additions and 225 deletions
@@ -4,8 +4,8 @@ FILE: complexTypes.kt
super<R|kotlin/Any|>()
}
public final inner class D<R, in P> : R|kotlin/Any| {
public constructor<R, in P>(): R|a/b/C.D<R, P>| {
public final inner class D<R, in P, T, out S> : R|kotlin/Any| {
public constructor<R, in P>(): R|a/b/C.D<R, P, T, S>| {
super<R|kotlin/Any|>()
}
@@ -13,7 +13,7 @@ FILE: complexTypes.kt
}
public abstract interface Test : R|kotlin/Any| {
public abstract val x: R|a/b/C.D<out kotlin/CharSequence, *, in kotlin/collections/List<*>, *>|
public get(): R|a/b/C.D<out kotlin/CharSequence, *, in kotlin/collections/List<*>, *>|
public abstract val x: R|a/b/C.D<in kotlin/collections/List<*>, *, out kotlin/CharSequence, *>|
public get(): R|a/b/C.D<in kotlin/collections/List<*>, *, out kotlin/CharSequence, *>|
}
@@ -4,8 +4,8 @@ FILE: innerTypes.kt
super<R|kotlin/Any|>()
}
public final inner class Inner<T, K> : R|kotlin/Any| {
public constructor<K>(): R|Outer.Inner<T, K>| {
public final inner class Inner<K, T> : R|kotlin/Any| {
public constructor<K>(): R|Outer.Inner<K, T>| {
super<R|kotlin/Any|>()
}
@@ -17,21 +17,21 @@ FILE: innerTypes.kt
super<R|kotlin/Any|>()
}
public final fun substitute(): R|Outer.Inner<Q, kotlin/Int>| {
public final fun substitute(): R|Outer.Inner<kotlin/Int, Q>| {
^substitute R|/Outer.Outer|<R|Q|>().R|/Outer.Inner.Inner|<R|kotlin/Int|>()
}
}
public final fun accept(p: R|Outer.Inner<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
public final fun accept(p: R|Outer.Inner<kotlin/Int, kotlin/String>|): R|kotlin/Unit| {
}
public final val rr: R|Outer.Inner<kotlin/String, kotlin/Int>| = R|/Outer.Outer|<R|kotlin/String|>().R|/Outer.Inner.Inner|<R|kotlin/Int|>()
public get(): R|Outer.Inner<kotlin/String, kotlin/Int>|
public final val rrq: R|Outer.Inner<kotlin/String, kotlin/Int>| = R|/Boxed.Boxed|<R|kotlin/String|>().R|FakeOverride</Boxed.substitute: R|Outer.Inner<kotlin/String, kotlin/Int>|>|()
public get(): R|Outer.Inner<kotlin/String, kotlin/Int>|
public final val rr: R|Outer.Inner<kotlin/Int, kotlin/String>| = R|/Outer.Outer|<R|kotlin/String|>().R|/Outer.Inner.Inner|<R|kotlin/Int|>()
public get(): R|Outer.Inner<kotlin/Int, kotlin/String>|
public final val rrq: R|Outer.Inner<kotlin/Int, kotlin/String>| = R|/Boxed.Boxed|<R|kotlin/String|>().R|FakeOverride</Boxed.substitute: R|Outer.Inner<kotlin/Int, kotlin/String>|>|()
public get(): R|Outer.Inner<kotlin/Int, kotlin/String>|
public final fun check(): R|kotlin/Unit| {
<Inapplicable(INAPPLICABLE): [/accept]>#(R|/Outer.Outer|<R|kotlin/Int|>().R|/Outer.Inner.Inner|<R|kotlin/Int|>())
<Inapplicable(INAPPLICABLE): [/accept]>#(R|/Outer.Outer|<R|kotlin/String|>().R|/Outer.Inner.Inner|<R|kotlin/String|>())
R|/accept|(R|/Outer.Outer|<R|kotlin/String|>().R|/Outer.Inner.Inner|<R|kotlin/Int|>())
<Inapplicable(INAPPLICABLE): [/accept]>#(R|/Boxed.Boxed|<R|kotlin/Int|>().R|FakeOverride</Boxed.substitute: R|Outer.Inner<kotlin/Int, kotlin/Int>|>|())
R|/accept|(R|/Boxed.Boxed|<R|kotlin/String|>().R|FakeOverride</Boxed.substitute: R|Outer.Inner<kotlin/String, kotlin/Int>|>|())
R|/accept|(R|/Boxed.Boxed|<R|kotlin/String|>().R|FakeOverride</Boxed.substitute: R|Outer.Inner<kotlin/Int, kotlin/String>|>|())
}
@@ -6,8 +6,8 @@ FILE: typeParameterVsNested.kt
super<R|kotlin/Any|>()
}
public final inner class T : R|kotlin/Any| {
public constructor(): R|test/My.T| {
public final inner class T<T : R|test/Some|> : R|kotlin/Any| {
public constructor(): R|test/My.T<T>| {
super<R|kotlin/Any|>()
}
@@ -5,9 +5,9 @@ fun main(k: KSub, vString: SuperClass<String>.NestedInSuperClass, vInt: SuperCla
k.getImpl().nestedI(vString)
// TODO: Support parametrisized inner classes
k.getImpl().nestedI(vInt)
k.getNestedSubClass().<!INAPPLICABLE_CANDIDATE!>nested<!>("")
k.getNestedSubClass().nested(1)
k.getImpl().<!INAPPLICABLE_CANDIDATE!>nestedI<!>(vInt)
k.getNestedSubClass().nested("")
k.getNestedSubClass().<!INAPPLICABLE_CANDIDATE!>nested<!>(1)
}
// FILE: J1.java
@@ -7,9 +7,9 @@ FILE: K1.kt
}
public final fun main(k: R|KSub|, vString: R|SuperClass.NestedInSuperClass<kotlin/String>|, vInt: R|SuperClass.NestedInSuperClass<kotlin/Int>|): R|kotlin/Unit| {
R|<local>/k|.R|/J1.getImpl|().R|FakeOverride</J1.NestedIImpl.nestedI: R|kotlin/Unit|>|(R|<local>/vString|)
R|<local>/k|.R|/J1.getImpl|().R|FakeOverride</J1.NestedIImpl.nestedI: R|kotlin/Unit|>|(R|<local>/vInt|)
R|<local>/k|.R|/J1.getNestedSubClass|().<Inapplicable(INAPPLICABLE): [/SuperClass.NestedInSuperClass.nested]>#(String())
R|<local>/k|.R|/J1.getNestedSubClass|().R|/SuperClass.NestedInSuperClass.nested|(Int(1))
R|<local>/k|.R|/J1.getImpl|().<Inapplicable(INAPPLICABLE): [/J1.NestedIImpl.nestedI]>#(R|<local>/vInt|)
R|<local>/k|.R|/J1.getNestedSubClass|().R|FakeOverride</J1.NestedSubClass.nested: R|kotlin/Unit|>|(String())
R|<local>/k|.R|/J1.getNestedSubClass|().<Inapplicable(INAPPLICABLE): [/J1.NestedSubClass.nested]>#(Int(1))
}
FILE: K2.kt
public open class KFirst : R|SuperClass<kotlin/String>|, R|SuperI<kotlin/Int>| {
@@ -24,8 +24,8 @@ FILE: K3.kt
super<R|kotlin/Any|>()
}
public open inner class NestedInSuperClass : R|kotlin/Any| {
public constructor(): R|SuperClass.NestedInSuperClass| {
public open inner class NestedInSuperClass<T> : R|kotlin/Any| {
public constructor(): R|SuperClass.NestedInSuperClass<T>| {
super<R|kotlin/Any|>()
}
@@ -1,6 +1,6 @@
FILE: MapCompute.kt
public final fun <D> R|kotlin/collections/MutableMap<kotlin/String, kotlin/collections/MutableSet<D>>|.initAndAdd(key: R|kotlin/String|, value: R|D|): R|kotlin/Unit| {
this@R|/initAndAdd|.R|FakeOverride<java/util/Map.compute: R|kotlin/collections/MutableSet<D>?|>|(R|<local>/key|, <L> = compute@fun <anonymous>(_: R|ft<kotlin/String, kotlin/String?>!|, maybeValues: R|ft<kotlin/collections/MutableSet<D>, kotlin/collections/MutableSet<D>?>!|): R|ft<kotlin/collections/MutableSet<D>, kotlin/collections/MutableSet<D>?>!| {
this@R|/initAndAdd|.R|FakeOverride<kotlin/collections/MutableMap.compute: R|kotlin/collections/MutableSet<D>?|>|(R|<local>/key|, <L> = compute@fun <anonymous>(_: R|ft<kotlin/String, kotlin/String?>!|, maybeValues: R|ft<kotlin/collections/MutableSet<D>, kotlin/collections/MutableSet<D>?>!|): R|ft<kotlin/collections/MutableSet<D>, kotlin/collections/MutableSet<D>?>!| {
lval setOfValues: R|kotlin/collections/MutableSet<D>| = when (lval <elvis>: R|ft<kotlin/collections/MutableSet<D>, kotlin/collections/MutableSet<D>?>!| = R|<local>/maybeValues|) {
==($subj$, Null(null)) -> {
R|kotlin/collections/mutableSetOf|<R|D|>()
@@ -8,5 +8,5 @@ FILE: test.kt
}
public final fun test(some: R|kotlin/collections/Iterable<kotlin/String>|): R|kotlin/Unit| {
lval it: R|kotlin/collections/Iterator<kotlin/String>| = R|<local>/some|.R|FakeOverride<kotlin/collections/Iterable.iterator: R|kotlin/collections/Iterator<kotlin/String>|>|()
lval split: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = R|<local>/some|.R|FakeOverride<java/lang/Iterable.spliterator: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
lval split: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = R|<local>/some|.R|FakeOverride<kotlin/collections/Iterable.spliterator: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
}
@@ -27,8 +27,8 @@ FILE: test.kt
}
)
lval otherResult: R|kotlin/String| = R|<local>/map|.R|FakeOverride<kotlin/collections/MutableMap.getOrDefault: R|kotlin/String|>|(String(key), String(value))
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|FakeOverride<java/util/Map.replace: R|kotlin/String?|>|(String(key), String(value))
R|<local>/map|.R|FakeOverride<java/util/Map.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|FakeOverride<kotlin/collections/MutableMap.replace: R|kotlin/String?|>|(String(key), String(value))
R|<local>/map|.R|FakeOverride<kotlin/collections/MutableMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
R|kotlin/io/println|(<strcat>(R|<local>/key|.R|kotlin/Any.toString|(), String(: ), R|<local>/value|.R|kotlin/Any.toString|()))
R|<local>/key|.R|kotlin/String.length|
^ R|<local>/value|.R|kotlin/String.length|
@@ -1,6 +1,6 @@
FILE: test.kt
public final fun <D : R|kotlin/Any|> R|Call<D>|.testForEach(): R|kotlin/Unit| {
this@R|/testForEach|.R|/Call.arguments|.R|FakeOverride<java/util/Map.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
this@R|/testForEach|.R|/Call.arguments|.R|FakeOverride<kotlin/collections/MutableMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
R|<local>/key|.R|kotlin/String.length|
^ R|<local>/value|.R|kotlin/String.length|
}
@@ -1,6 +1,6 @@
FILE: mapMerge.kt
public final fun foo(x: R|kotlin/collections/MutableMap<kotlin/String, kotlin/collections/List<kotlin/String>>|): R|kotlin/Unit| {
R|<local>/x|.R|FakeOverride<java/util/Map.merge: R|kotlin/collections/List<kotlin/String>?|>|(String(), R|kotlin/collections/listOf|<R|kotlin/String|>(String()), <L> = merge@fun <anonymous>(a: R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>!|, b: R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>!|): R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>!| {
R|<local>/x|.R|FakeOverride<kotlin/collections/MutableMap.merge: R|kotlin/collections/List<kotlin/String>?|>|(String(), R|kotlin/collections/listOf|<R|kotlin/String|>(String()), <L> = merge@fun <anonymous>(a: R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>!|, b: R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>!|): R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>!| {
^ R|<local>/a|.R|kotlin/collections/plus|<R|kotlin/String|>(R|<local>/b|)
}
)
@@ -1,6 +1,6 @@
FILE: removeIf.kt
public final fun test(collection: R|kotlin/collections/MutableCollection<kotlin/Boolean>|): R|kotlin/Unit| {
R|<local>/collection|.R|FakeOverride<java/util/Collection.removeIf: R|kotlin/Boolean|>|(<L> = removeIf@fun <anonymous>(it: R|ft<kotlin/Boolean, kotlin/Boolean?>!|): R|kotlin/Boolean| {
R|<local>/collection|.R|FakeOverride<kotlin/collections/MutableCollection.removeIf: R|kotlin/Boolean|>|(<L> = removeIf@fun <anonymous>(it: R|ft<kotlin/Boolean, kotlin/Boolean?>!|): R|kotlin/Boolean| {
^ R|<local>/it|
}
)
@@ -10,7 +10,7 @@ FILE: typeAliasWithForEach.kt
public final typealias Arguments = R|kotlin/collections/Map<kotlin/String, ArgsInfo>|
public final fun R|Arguments|.deepCopy(): R|Arguments| {
lval result: R|java/util/HashMap<ft<kotlin/String, kotlin/String?>!, ft<ArgsInfo, ArgsInfo?>!>| = R|java/util/HashMap.HashMap|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<ArgsInfo, ArgsInfo?>!|>()
this@R|/deepCopy|.R|FakeOverride<java/util/Map.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<ArgsInfo, ArgsInfo?>!|): R|kotlin/Unit| {
this@R|/deepCopy|.R|FakeOverride<kotlin/collections/Map.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<ArgsInfo, ArgsInfo?>!|): R|kotlin/Unit| {
R|<local>/result|.R|kotlin/collections/set|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<ArgsInfo, ArgsInfo?>!|>(R|<local>/key|, R|/ArgsInfoImpl.ArgsInfoImpl|(R|<local>/value|))
}
)