diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/JavaMethodToKotlinFunctionConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/JavaMethodToKotlinFunctionConversion.kt index 3fe0696bc80..7a29aeaec32 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/JavaMethodToKotlinFunctionConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/JavaMethodToKotlinFunctionConversion.kt @@ -16,13 +16,15 @@ package org.jetbrains.kotlin.nj2k.conversions -import org.jetbrains.kotlin.nj2k.ConversionContext import org.jetbrains.kotlin.j2k.ast.Nullability +import org.jetbrains.kotlin.nj2k.ConversionContext import org.jetbrains.kotlin.nj2k.throwAnnotation -import org.jetbrains.kotlin.nj2k.tree.* +import org.jetbrains.kotlin.nj2k.tree.JKClassBody +import org.jetbrains.kotlin.nj2k.tree.JKJavaMethod +import org.jetbrains.kotlin.nj2k.tree.JKTreeElement import org.jetbrains.kotlin.nj2k.tree.impl.JKKtFunctionImpl -import org.jetbrains.kotlin.nj2k.tree.impl.JKTypeElementImpl import org.jetbrains.kotlin.nj2k.tree.impl.psi +import org.jetbrains.kotlin.nj2k.tree.updateNullabilityRecursively class JavaMethodToKotlinFunctionConversion(private val context: ConversionContext) : TransformerBasedConversion() { override fun visitTreeElement(element: JKTreeElement) { @@ -37,11 +39,7 @@ class JavaMethodToKotlinFunctionConversion(private val context: ConversionContex declaration.invalidate() JKKtFunctionImpl( - if (declaration.returnType.type.nullability != Nullability.NotNull) - JKTypeElementImpl( - declaration.returnType.type - .updateNullability(declaration.returnTypeNullability(context)) - ) else declaration.returnType, + declaration.returnType, declaration.name, declaration.parameters, declaration.block, @@ -49,10 +47,10 @@ class JavaMethodToKotlinFunctionConversion(private val context: ConversionContex declaration.annotationList.also { if (declaration.throwsList.isNotEmpty()) { it.annotations += - throwAnnotation( - declaration.throwsList.map { it.type.updateNullabilityRecursively(Nullability.NotNull) }, - context.symbolProvider - ) + throwAnnotation( + declaration.throwsList.map { it.type.updateNullabilityRecursively(Nullability.NotNull) }, + context.symbolProvider + ) } }, declaration.extraModifiers, diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt index 30ea4cdc30f..0d8e7a98f71 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt @@ -9,16 +9,16 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiMethod import com.intellij.psi.PsiVariable import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.builtins.PrimitiveType import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap import org.jetbrains.kotlin.j2k.* -import org.jetbrains.kotlin.nj2k.* import org.jetbrains.kotlin.j2k.ast.Mutability import org.jetbrains.kotlin.j2k.ast.Nullability -import org.jetbrains.kotlin.nj2k.tree.* -import org.jetbrains.kotlin.nj2k.tree.impl.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.nj2k.ConversionContext +import org.jetbrains.kotlin.nj2k.kotlinTypeByName +import org.jetbrains.kotlin.nj2k.tree.* +import org.jetbrains.kotlin.nj2k.tree.impl.* class TypeMappingConversion(val context: ConversionContext) : RecursiveApplicableConversionBase() { private val typeFlavorCalculator = TypeFlavorCalculator(object : TypeFlavorConverterFacade { @@ -163,9 +163,8 @@ class TypeMappingConversion(val context: ConversionContext) : RecursiveApplicabl val psi = parent.psi return when (parent) { is JKMethod -> - parent.nullabilityBySuperMethod(context.symbolProvider).defaultToNull() - ?: psi?.let { typeFlavorCalculator.methodNullability(it as PsiMethod) } - .nullToDefault() + psi?.let { typeFlavorCalculator.methodNullability(it as PsiMethod) } + .nullToDefault() is JKVariable -> psi?.let { typeFlavorCalculator.variableNullability(psi as PsiVariable)