New J2K: Use default nullability by default

This commit is contained in:
Ilya Kirillov
2018-12-24 12:50:03 +03:00
committed by Ilya Kirillov
parent f3cb76ff56
commit 2e353ccf86
2 changed files with 5 additions and 6 deletions
@@ -362,7 +362,7 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
fun PsiTypeParameter.toJK(): JKTypeParameter = fun PsiTypeParameter.toJK(): JKTypeParameter =
JKTypeParameterImpl(JKNameIdentifierImpl(name!!), JKTypeParameterImpl(JKNameIdentifierImpl(name!!),
extendsListTypes.map { JKTypeElementImpl(it.toJK(symbolProvider, Nullability.NotNull)) }) extendsListTypes.map { JKTypeElementImpl(it.toJK(symbolProvider, Nullability.Default)) })
fun PsiClass.toJK(): JKClass { fun PsiClass.toJK(): JKClass {
val classKind: JKClass.ClassKind = when { val classKind: JKClass.ClassKind = when {
@@ -373,7 +373,7 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
} }
fun PsiReferenceList.mapTypes() = fun PsiReferenceList.mapTypes() =
this.referencedTypes.map { with(expressionTreeMapper) { JKTypeElementImpl(it.toJK(symbolProvider, Nullability.NotNull)) } } this.referencedTypes.map { with(expressionTreeMapper) { JKTypeElementImpl(it.toJK(symbolProvider, Nullability.Default)) } }
val implTypes = this.implementsList?.mapTypes().orEmpty() val implTypes = this.implementsList?.mapTypes().orEmpty()
val extensionType = this.extendsList?.mapTypes().orEmpty() val extensionType = this.extendsList?.mapTypes().orEmpty()
@@ -5,12 +5,11 @@
package org.jetbrains.kotlin.j2k.conversions package org.jetbrains.kotlin.j2k.conversions
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.j2k.ConversionContext import org.jetbrains.kotlin.j2k.ConversionContext
import org.jetbrains.kotlin.j2k.ast.Nullability import org.jetbrains.kotlin.j2k.ast.Nullability
import org.jetbrains.kotlin.j2k.tree.* import org.jetbrains.kotlin.j2k.tree.*
import org.jetbrains.kotlin.j2k.tree.impl.* import org.jetbrains.kotlin.j2k.tree.impl.JKFieldSymbol
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.j2k.tree.impl.JKTypeElementImpl
class LowerNullabilityInFunctionParametersConversion(private val context: ConversionContext) : RecursiveApplicableConversionBase() { class LowerNullabilityInFunctionParametersConversion(private val context: ConversionContext) : RecursiveApplicableConversionBase() {
override fun applyToElement(element: JKTreeElement): JKTreeElement { override fun applyToElement(element: JKTreeElement): JKTreeElement {
@@ -21,7 +20,7 @@ class LowerNullabilityInFunctionParametersConversion(private val context: Conver
(element as? JKKtConstructor)?.delegationCall (element as? JKKtConstructor)?.delegationCall
) )
for (parameter in element.parameters) { for (parameter in element.parameters) {
if (parameter.type.type.nullability == Nullability.NotNull) continue if (parameter.type.type.nullability != Nullability.Default) continue
if (parameter.hasNotNullUsages(scopes)) { if (parameter.hasNotNullUsages(scopes)) {
parameter.type = JKTypeElementImpl(parameter.type.type.updateNullability(Nullability.NotNull)) parameter.type = JKTypeElementImpl(parameter.type.type.updateNullability(Nullability.NotNull))
} }