Support type aliases in stub builder

This commit is contained in:
Denis Zharkov
2016-06-27 18:23:42 +03:00
parent daa356860c
commit e24f0653fb
14 changed files with 262 additions and 14 deletions
@@ -7,4 +7,6 @@ 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
private typealias Parametrized<E, F> = kotlin.collections.Map<E, F>
}
@@ -8,10 +8,16 @@ class Outer<E, F> {
}
}
annotation class Ann
class TypeAliases {
typealias B = (A) -> Unit
fun foo(a: A, b: B, ta: Outer<String, Double>.Inner<Int>.TA<Boolean>) {
b.invoke(a)
}
// TODO: annotations are unsupported yet
@Ann
private typealias Parametrized<E, F> = Map<E, F>
}