in core/src/main/java/com/facebook/ktfmt/debughelpers/OpsDebug.kt [39:91]
fun printOps(ops: ImmutableList<Op>) {
println("Ops: ")
var indent = 0
for (op in ops) {
val line =
when (op) {
is OpenOp -> {
val matcher = OPENOP_STRING_FORM_REGEX.matcher(op.toString())
if (matcher.matches()) {
val opIndent = matcher.group(1)
"[ " + if (opIndent != "0") opIndent else ""
} else {
"[ $op"
}
}
is CloseOp -> "]"
is Doc.Token -> {
var result: String? = ""
val output =
object : Output() {
override fun indent(indent: Int) = Unit
override fun blankLine(k: Int, wanted: OpsBuilder.BlankLineWanted?) = Unit
override fun markForPartialFormat(start: Input.Token?, end: Input.Token?) = Unit
override fun getCommentsHelper(): CommentsHelper {
throw Throwable()
}
override fun append(text: String?, range: Range<Int>?) {
result = text
}
}
op.write(output)
""""$result""""
}
else -> {
val result = op.toString()
if (result == "Space{}") "\" \"" else result
}
}
if (op is CloseOp) {
indent--
}
repeat(2 * indent) { print(" ") }
if (op is OpenOp) {
indent++
}
println(line)
}
println()
}