From 295a160f603ae3f03c4746b11caec9fb1d8cae41 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 24 Dec 2018 12:54:26 +0300 Subject: [PATCH] New J2K: Add DefaultNullabilityToNullableConversion --- .../DefaultNullabilityToNullableConversion.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/DefaultNullabilityToNullableConversion.kt diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/DefaultNullabilityToNullableConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/DefaultNullabilityToNullableConversion.kt new file mode 100644 index 00000000000..d82d80a710b --- /dev/null +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/DefaultNullabilityToNullableConversion.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.j2k.conversions + +import org.jetbrains.kotlin.j2k.ast.Nullability +import org.jetbrains.kotlin.j2k.tree.* +import org.jetbrains.kotlin.j2k.tree.impl.JKTypeElementImpl + +class DefaultNullabilityToNullableConversion : RecursiveApplicableConversionBase() { + override fun applyToElement(element: JKTreeElement): JKTreeElement { + if (element !is JKTypeElementImpl) return recurse(element) + if (element.type.nullability != Nullability.Default) return recurse(element) + return recurse( + JKTypeElementImpl(element.type.updateNullability(Nullability.Nullable)) + ) + } +} \ No newline at end of file