From 67cf180abad4fd66e8373d25917dc3ee6da4d276 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 16 Jun 2015 16:37:51 +0300 Subject: [PATCH] Code clarification --- .../org/jetbrains/kotlin/j2k/CodeBuilder.kt | 4 ++-- .../jetbrains/kotlin/j2k/ast/Annotation.kt | 22 ++++++++++--------- .../ArrayWithoutInitializationExpression.kt | 1 - j2k/src/org/jetbrains/kotlin/j2k/ast/Class.kt | 5 ++++- .../jetbrains/kotlin/j2k/ast/LocalVariable.kt | 1 - .../kotlin/j2k/ast/TypeParameters.kt | 5 ++++- 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt index 17c9f2a3af7..3603fc5c1a9 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt @@ -30,7 +30,7 @@ import java.util.HashSet import java.util.LinkedHashSet import kotlin.platform.platformName -fun CodeBuilder.append(generators: Collection<() -> T>, separator: String, prefix: String = "", suffix: String = ""): CodeBuilder { +fun CodeBuilder.buildList(generators: Collection<() -> T>, separator: String, prefix: String = "", suffix: String = ""): CodeBuilder { if (generators.isNotEmpty()) { append(prefix) var first = true @@ -48,7 +48,7 @@ fun CodeBuilder.append(generators: Collection<() -> T>, separator: String, pr platformName("appendElements") fun CodeBuilder.append(elements: Collection, separator: String, prefix: String = "", suffix: String = ""): CodeBuilder { - return append(elements.filter { !it.isEmpty }.map { { append(it) } }, separator, prefix, suffix) + return buildList(elements.filter { !it.isEmpty }.map { { append(it) } }, separator, prefix, suffix) } class ElementCreationStackTraceRequiredException : RuntimeException() diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Annotation.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Annotation.kt index 489ce3ec83b..b0854e517de 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Annotation.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Annotation.kt @@ -27,16 +27,18 @@ class Annotation(val name: Identifier, val arguments: List) : Expression() { override fun generateCode(builder: CodeBuilder) { diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Class.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Class.kt index c116e104a7f..e0fae4b5f34 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Class.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Class.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.j2k.ast import org.jetbrains.kotlin.j2k.CodeBuilder import org.jetbrains.kotlin.j2k.append +import org.jetbrains.kotlin.j2k.buildList open class Class( val name: Identifier, @@ -52,7 +53,9 @@ open class Class( get() = "class" protected fun appendBaseTypes(builder: CodeBuilder) { - builder.append(baseClassSignatureWithParams(builder) + implementsTypes.map { { builder.append(it) } }, ", ", ":") + builder.buildList(generators = baseClassSignatureWithParams(builder) + implementsTypes.map { { builder.append(it) } }, + separator = ", ", + prefix = ":") } private fun baseClassSignatureWithParams(builder: CodeBuilder): List<() -> CodeBuilder> { diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/LocalVariable.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/LocalVariable.kt index b0a99b91121..7405b75c015 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/LocalVariable.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/LocalVariable.kt @@ -18,7 +18,6 @@ package org.jetbrains.kotlin.j2k.ast import org.jetbrains.kotlin.j2k.ConverterSettings import org.jetbrains.kotlin.j2k.CodeBuilder -import org.jetbrains.kotlin.j2k.append class LocalVariable( private val identifier: Identifier, diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/TypeParameters.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/TypeParameters.kt index 38db2f9827c..0c98ac4c477 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/TypeParameters.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/TypeParameters.kt @@ -44,7 +44,10 @@ class TypeParameterList(val parameters: List) : Element() { fun appendWhere(builder: CodeBuilder): CodeBuilder { if (hasWhere()) { - builder.append( parameters.map { { it.whereToKotlin(builder) } }, ", ", " where ", "") + builder.buildList(generators = parameters.map { { it.whereToKotlin(builder) } }, + separator = ", ", + prefix = " where ", + suffix = "") } return builder }