Implement stub building for inner types

This commit is contained in:
Denis Zharkov
2015-11-11 14:43:19 +03:00
parent 7500447e72
commit 6ae653e5a1
14 changed files with 377 additions and 20 deletions
@@ -0,0 +1,17 @@
// IntelliJ API Decompiler stub source generated from a class file
// Implementation of methods is not available
package test
public final class InnerClasses<E, F> public constructor() {
public final fun bar(x: test.InnerClasses<kotlin.String, kotlin.Double>.Inner2, y: test.InnerClasses<E, F>.Inner2): kotlin.Unit { /* compiled code */ }
public final inner class Inner<G, H> public constructor() {
public final inner class Inner3<I> public constructor() {
public final fun foo(x: test.InnerClasses<kotlin.String, F>.Inner<G, kotlin.Int>, y: test.InnerClasses<E, F>.Inner<E, kotlin.Double>, z: test.InnerClasses<kotlin.String, F>.Inner<G, kotlin.Int>.Inner3<kotlin.Double>, w: test.InnerClasses<E, F>.Inner<G, H>.Inner3<*>): kotlin.Unit { /* compiled code */ }
}
}
public final inner class Inner2 public constructor() {
}
}
@@ -0,0 +1,17 @@
package test
class InnerClasses<E, F> {
inner class Inner<G, H> {
inner class Inner3<I> {
fun foo(
x: InnerClasses<String, F>.Inner<G, Int>,
y: Inner<E, Double>,
z: InnerClasses<String, F>.Inner<G, Int>.Inner3<Double>,
w: Inner3<*>) {}
}
}
inner class Inner2
fun bar(x: InnerClasses<String, Double>.Inner2, y: Inner2) {}
}
@@ -0,0 +1,4 @@
// TODO Remove this restriction when nested classes will be supported in js backend.
// See KT-1907 Support nested classes in js-backend
// https://youtrack.jetbrains.com/issue/KT-1907
// TARGET_BACKEND: JVM