New J2K: add default null value to property with type parameter type when it is implicit in Java

#KT-32436 fixed
This commit is contained in:
Ilya Kirillov
2019-07-08 15:13:48 +03:00
parent 9d6338afb2
commit ba3927b580
4 changed files with 16 additions and 3 deletions
@@ -32,9 +32,8 @@ class ImplicitInitializerConversion(private val context: NewJ2kConverterContext)
return recurse(element)
}
val fieldType = element.type.type
val newInitializer = when (fieldType) {
is JKClassType -> JKNullLiteral()
val newInitializer = when (val fieldType = element.type.type) {
is JKClassType, is JKTypeParameterType -> JKNullLiteral()
is JKJavaPrimitiveType -> createPrimitiveTypeInitializer(fieldType)
else -> null
}
+6
View File
@@ -0,0 +1,6 @@
public class JClass<T> {
private T name;
public T getName() {
return name;
}
}
+3
View File
@@ -0,0 +1,3 @@
class JClass<T> {
val name: T? = null
}
@@ -2871,6 +2871,11 @@ public class NewJavaToKotlinConverterSingleFileTestGenerated extends AbstractNew
runTest("nj2k/testData/newJ2k/issues/kt-31818.java");
}
@TestMetadata("kt-32436.java")
public void testKt_32436() throws Exception {
runTest("nj2k/testData/newJ2k/issues/kt-32436.java");
}
@TestMetadata("kt-5294.java")
public void testKt_5294() throws Exception {
runTest("nj2k/testData/newJ2k/issues/kt-5294.java");