Refine type arguments resolution and rendering

In case of type constructors captured parameters from outer classes

 #KT-5510 Fixed
 #KT-3112 Fixed
 #KT-6325 Fixed
 #KT-408  Fixed
 #KT-6337 Fixed
This commit is contained in:
Denis Zharkov
2015-11-03 14:28:34 +03:00
parent 990bd7e71d
commit deea0643ad
72 changed files with 1450 additions and 94 deletions

View File

@@ -0,0 +1,5 @@
public abstract class JavaClass {
public static String test() {
return Test.INSTANCE.foo(new Outer<String>("OK").new Inner<Integer>(1));
}
}

View File

@@ -0,0 +1,15 @@
class Outer<E>(val x: E) {
inner class Inner<F>(val y: F) {
fun foo() = x.toString() + y.toString()
}
}
object Test {
fun foo(x: Outer<String>.Inner<Integer>) = x.foo()
}
fun box(): String {
val result = JavaClass.test()
if (result != "OK1") return "Fail: $result"
return "OK"
}