Open
Description
Probably a relict of JavaPoet where a control flow would almost certainly be followed by new line. With Kotlin, new line by default makes code like below look bad:
@Test fun controlFlowsAsExpressions() {
val controlFlows = buildList {
repeat(2) {
add(
CodeBlock.builder()
.beginControlFlow("if (num %% 2 == 0)")
.addStatement("println(%S)", "foo")
.nextControlFlow("else")
.addStatement("println(%S)", "bar")
.endControlFlow()
.build()
)
}
}
val listOfControlFlows = controlFlows
.joinToCode(prefix = "listOf(⇥\n", separator = ",\n", suffix = ",⇤\n)")
assertThat(listOfControlFlows.toString()).isEqualTo(
"""
listOf(
if (num % 2 == 0) {
println("foo")
} else {
println("bar")
}
,
if (num % 2 == 0) {
println("foo")
} else {
println("bar")
}
,
)
""".trimIndent()
)
}
Activity