New J2K: Fix converting recursive types

#KT-36088 fixed
This commit is contained in:
Ilya Kirillov
2020-02-13 18:37:19 +03:00
parent 6982db7d02
commit 7c586ce736
4 changed files with 21 additions and 1 deletions
@@ -132,7 +132,10 @@ class JKTypeFactory(val symbolProvider: JKSymbolProvider) {
else -> JKClassType(
symbolProvider.provideClassSymbol(type.getJetTypeFqName(false)),//TODO constructor fqName
type.arguments.map { fromKotlinType(it.type) },
type.arguments.map { typeArgument ->
if (typeArgument.isStarProjection) JKStarProjectionTypeImpl
else fromKotlinType(typeArgument.type)
},
if (type.isNullable()) Nullability.Nullable else Nullability.NotNull
)
}
+5
View File
@@ -0,0 +1,5 @@
class TestClass<T : TestClass<T>>
class TestClass2 {
fun test(testClass: TestClass<*>?) = Unit
}
+6
View File
@@ -0,0 +1,6 @@
public class Unconvertable {
public void cantConvertThis() {
TestClass2 tester = new TestClass2();
tester.test(null);
}
}
+6
View File
@@ -0,0 +1,6 @@
class Unconvertable {
fun cantConvertThis() {
val tester = TestClass2()
tester.test(null)
}
}