[FIR] Store abbreviated type in deserialized declarations as attribute

#KT-58542 Fixed
This commit is contained in:
Kirill Rakhman
2023-08-22 18:38:39 +02:00
committed by Space Team
parent 8e72f60996
commit 5b4409e34c
34 changed files with 251 additions and 89 deletions
@@ -0,0 +1,19 @@
Module: a
FILE: a.kt
public final typealias Foo<T> = R|kotlin/collections/List<kotlin/String>|
public final class C<T> : R|kotlin/Any| {
public constructor<T>(): R|C<T>| {
super<R|kotlin/Any|>()
}
public final val foo: R|Foo<T>?| = Null(null)
public get(): R|Foo<T>?|
}
Module: b
FILE: b.kt
public final val bar: R|Foo<kotlin/Int>?| = R|/C.C|<R|kotlin/Int|>().R|SubstitutionOverride</C.foo: R|Foo<kotlin/Int>?|>|
public get(): R|Foo<kotlin/Int>?|
public final fun box(): R|kotlin/String| {
^box String(OK)
}
@@ -0,0 +1,15 @@
// FIR_DUMP
// MODULE: a
// FILE: a.kt
typealias Foo<T> = List<String>
class C<T> {
val foo: Foo<T>? = null
}
// MODULE: b(a)
// FILE: b.kt
val bar = C<Int>().foo
fun box() = "OK"