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 =
JKTypeParameterImpl(JKNameIdentifierImpl(name!!),
extendsListTypes.map { JKTypeElementImpl(it.toJK(symbolProvider, Nullability.NotNull)) })
extendsListTypes.map { JKTypeElementImpl(it.toJK(symbolProvider, Nullability.Default)) })
fun PsiClass.toJK(): JKClass {
val classKind: JKClass.ClassKind = when {
@@ -373,7 +373,7 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
}
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 extensionType = this.extendsList?.mapTypes().orEmpty()
@@ -5,12 +5,11 @@
package org.jetbrains.kotlin.j2k.conversions
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.j2k.ConversionContext
import org.jetbrains.kotlin.j2k.ast.Nullability
import org.jetbrains.kotlin.j2k.tree.*
import org.jetbrains.kotlin.j2k.tree.impl.*
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.j2k.tree.impl.JKFieldSymbol
import org.jetbrains.kotlin.j2k.tree.impl.JKTypeElementImpl
class LowerNullabilityInFunctionParametersConversion(private val context: ConversionContext) : RecursiveApplicableConversionBase() {
override fun applyToElement(element: JKTreeElement): JKTreeElement {
@@ -21,7 +20,7 @@ class LowerNullabilityInFunctionParametersConversion(private val context: Conver
(element as? JKKtConstructor)?.delegationCall
)
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)) {
parameter.type = JKTypeElementImpl(parameter.type.type.updateNullability(Nullability.NotNull))
}