fixup! [Analysis API] implement an API to get a substitution based on a inheritance relationship between classes

This commit is contained in:
Ilya Kirillov
2023-10-05 15:30:42 +02:00
committed by Space Team
parent 15e4cbc10d
commit 8f6b3d37b9
11 changed files with 32 additions and 32 deletions
@@ -1,10 +1,10 @@
// WITH_STDLIB // WITH_STDLIB
class A<caret_base>A : BB<Int, String> class A<caret_base>A : BB<Int, String>()
class BB<S, T> : CC<S, T, List<T>> open class BB<S, T> : CC<S, T, List<T>>()
class C<caret_super>C<X, Y, Z> { open class C<caret_super>C<X, Y, Z> {
fun foo(): kotlin.Triple<X, Y, Z> fun foo(): kotlin.Triple<X, Y, Z> = TODO()
} }
@@ -1,6 +1,5 @@
class A<caret_base>A : BB<Int, String> class A<caret_base>A : BB<Int, String>()
class BB<S, T> : CC<S, T, List<T>> open class BB<S, T> : CCC<S, T, List<T>>
class C<caret_super>CC<X, Y, Z> : AA
class CC<caret_super>C<X, Y, Z> : AA()
@@ -1,8 +1,9 @@
// WITH_STDLIB // WITH_STDLIB
class A<caret_base>A<T, S> : BB<List<T>, Map<S, Int>, S> class A<caret_base>A<T, S> : BB<List<T>, Map<S, Int>, S>()
class B<caret_super>B<Q, R, T> { open class B<caret_super>B<Q, R, T> {
fun foo(): kotlin.Triple<Q, R, T> fun foo(): kotlin.Triple<Q, R, T> = TODO()
} }
@@ -1,8 +1,8 @@
// WITH_STDLIB // WITH_STDLIB
class A<caret_base>A : BB<Int> class A<caret_base>A : BB<Int>()
class B<caret_super>B<S> { open class B<caret_super>B<S> {
fun foo(): List<S> fun foo(): List<S> = TODO()
} }
@@ -1,6 +1,6 @@
class A<caret_base>A<T> : BB<T> class A<caret_base>A<T> : BB<T>()
class B<caret_super>B<S> { open class B<caret_super>B<S> {
fun foo(): S fun foo(): S = TODO()
} }
@@ -1,6 +1,6 @@
class A<caret_base>A : BB<Int> class A<caret_base>A : BB<Int>()
class B<caret_super>B<S : String> { open class B<caret_super>B<S : String> {
fun foo(): S fun foo(): S = TODO()
} }
@@ -1,6 +1,6 @@
class A<caret_base>A : BB<Int, String> class A<caret_base>A : BB<Int, String>()
class B<caret_super>B<S> { open class B<caret_super>B<S> {
fun foo(): S fun foo(): S = TODO()
} }
@@ -1,7 +1,7 @@
// WITH_STDLIB // WITH_STDLIB
class A<caret_base>A : BB<Int, String> class A<caret_base>A : BB<Int, String>()
class B<caret_super>B<S, Q, U> { open class B<caret_super>B<S, Q, U> {
fun foo(): Triple<S, Q, U> fun foo(): Triple<S, Q, U> = TODO()
} }
@@ -1,7 +1,7 @@
class A<caret_base>A : BB<Int>, BB<String> class A<caret_base>A : BB<Int>, BB<String>()
class B<caret_super>B<S> { open class B<caret_super>B<S> {
fun foo(): Triple<S> fun foo(): S
} }
@@ -1,3 +1,3 @@
Substitutor: <map substitutor: {S = kotlin/Int}> Substitutor: <map substitutor: {S = kotlin/Int}>
Substituted callables: Substituted callables:
foo(): Triple<S> foo(): Int
@@ -2,6 +2,6 @@
class A<caret_base>A<caret_super>A : BB<Int, String> class A<caret_base>A<caret_super>A : BB<Int, String>
class BB<S, T> : CC<S, T, List<T>> { class BB<S, T> {
fun foo(): Triple<S, T> fun foo(): Pair<S, T>
} }