Fix type deserialization failure when type alias was not found
It's crucial for decompilation as declarations are always being deserialized with no dependencies #KT-12832 Fixed
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
// IntelliJ API Decompiler stub source generated from a class file
|
||||
// Implementation of methods is not available
|
||||
|
||||
package test
|
||||
|
||||
public final class TypeAliases public constructor() {
|
||||
public final fun foo(a: dependency.A /* = () -> kotlin.Unit */, b: test.TypeAliases.B /* = (dependency.A /* = () -> kotlin.Unit */) -> kotlin.Unit */, ta: test.Outer<kotlin.String, kotlin.Double>.Inner<kotlin.Int>.TA<kotlin.Boolean> /* = kotlin.collections.Map<kotlin.collections.Map<kotlin.String, out kotlin.Double>, kotlin.collections.Map<kotlin.Int, out kotlin.Boolean>> */): kotlin.Unit { /* compiled code */ }
|
||||
|
||||
public typealias B = (dependency.A) -> kotlin.Unit
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dependency
|
||||
|
||||
typealias A = () -> Unit
|
||||
|
||||
fun foo(a: A) {
|
||||
a.invoke()
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package test
|
||||
|
||||
import dependency.*
|
||||
|
||||
class Outer<E, F> {
|
||||
inner class Inner<G> {
|
||||
typealias TA<H> = Map<Map<E, F>, Map<G, H>>
|
||||
}
|
||||
}
|
||||
|
||||
class TypeAliases {
|
||||
|
||||
typealias B = (A) -> Unit
|
||||
fun foo(a: A, b: B, ta: Outer<String, Double>.Inner<Int>.TA<Boolean>) {
|
||||
b.invoke(a)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
Reference in New Issue
Block a user