New J2K: Use default nullability by default
This commit is contained in:
committed by
Ilya Kirillov
parent
f3cb76ff56
commit
2e353ccf86
@@ -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()
|
||||||
|
|||||||
+3
-4
@@ -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))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user