Code clarification
This commit is contained in:
@@ -30,7 +30,7 @@ import java.util.HashSet
|
||||
import java.util.LinkedHashSet
|
||||
import kotlin.platform.platformName
|
||||
|
||||
fun<T> CodeBuilder.append(generators: Collection<() -> T>, separator: String, prefix: String = "", suffix: String = ""): CodeBuilder {
|
||||
fun<T> 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<T> CodeBuilder.append(generators: Collection<() -> T>, separator: String, pr
|
||||
|
||||
platformName("appendElements")
|
||||
fun CodeBuilder.append(elements: Collection<Element>, 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()
|
||||
|
||||
@@ -27,16 +27,18 @@ class Annotation(val name: Identifier, val arguments: List<Pair<Identifier?, Def
|
||||
else {
|
||||
builder.append(name)
|
||||
.append("(")
|
||||
.append(arguments.map {
|
||||
{
|
||||
if (it.first != null) {
|
||||
builder append it.first!! append " = " append it.second
|
||||
}
|
||||
else {
|
||||
builder append it.second
|
||||
}
|
||||
}
|
||||
}, ", ")
|
||||
.buildList(
|
||||
generators = arguments.map {
|
||||
{
|
||||
if (it.first != null) {
|
||||
builder append it.first!! append " = " append it.second
|
||||
}
|
||||
else {
|
||||
builder append it.second
|
||||
}
|
||||
}
|
||||
},
|
||||
separator = ", ")
|
||||
.append(")")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package org.jetbrains.kotlin.j2k.ast
|
||||
|
||||
import org.jetbrains.kotlin.j2k.CodeBuilder
|
||||
import org.jetbrains.kotlin.j2k.append
|
||||
|
||||
class ArrayWithoutInitializationExpression(val type: ArrayType, val expressions: List<Expression>) : Expression() {
|
||||
override fun generateCode(builder: CodeBuilder) {
|
||||
|
||||
@@ -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> {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -44,7 +44,10 @@ class TypeParameterList(val parameters: List<TypeParameter>) : 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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user