From ee0ec421ced4e5241636c22319b1ab63826b23e3 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 17 Feb 2020 16:48:40 +0300 Subject: [PATCH] New J2K: do not print Unit types --- .../org/jetbrains/kotlin/nj2k/printing/JKCodeBuilder.kt | 7 +++++-- nj2k/src/org/jetbrains/kotlin/nj2k/types/typesUtils.kt | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/printing/JKCodeBuilder.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/printing/JKCodeBuilder.kt index f843fca1307..cbc7a29b888 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/printing/JKCodeBuilder.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/printing/JKCodeBuilder.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.nj2k.tree.* import org.jetbrains.kotlin.nj2k.tree.visitors.JKVisitorWithCommentsPrinting import org.jetbrains.kotlin.nj2k.types.JKContextType import org.jetbrains.kotlin.nj2k.types.isInterface +import org.jetbrains.kotlin.nj2k.types.isUnit import org.jetbrains.kotlin.nj2k.types.updateNullability import org.jetbrains.kotlin.utils.addToStdlib.safeAs @@ -346,8 +347,10 @@ internal class JKCodeBuilder(context: NewJ2kConverterContext) { it.accept(this) } renderTokenElement(method.rightParen) - printer.print(": ") - method.returnType.accept(this) + if (!method.returnType.type.isUnit()) { + printer.print(": ") + method.returnType.accept(this) + } renderExtraTypeParametersUpperBounds(method.typeParameterList) method.block.accept(this) } diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/types/typesUtils.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/types/typesUtils.kt index f71d2156c2f..10faa8ad422 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/types/typesUtils.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/types/typesUtils.kt @@ -184,6 +184,9 @@ fun JKType.isArrayType() = else -> false } +fun JKType.isUnit() = + safeAs()?.classReference?.fqName == KotlinBuiltIns.FQ_NAMES.unit.asString() + val JKType.isCollectionType: Boolean get() = safeAs()?.classReference?.fqName in collectionFqNames