[util] Introduce IndentingPrinter interface

This interface is more convenient to pass around so that it's easier
to replace different printer implementations.
This commit is contained in:
Sergej Jaskiewicz
2023-10-24 13:28:47 +02:00
committed by Space Team
parent 895d107ac5
commit aaf7ccbebd
5 changed files with 93 additions and 29 deletions
@@ -78,7 +78,7 @@ object ArgumentsConverterGenerator {
private fun SmartPrinter.generateSingleConverter(type: KClass<*>, converter: HLParameterConversion) {
println("private fun $CONVERT_ARGUMENT(argument: ${type.typeWithStars}, firSymbolBuilder: KtSymbolByFirBuilder): Any? {")
withIndent {
println("return ${converter.convertExpression("argument", ConversionContext(getCurrentIndentInUnits(), getIndentUnit()))}")
println("return ${converter.convertExpression("argument", ConversionContext(currentIndentLengthInUnits, indentUnitLength))}")
}
println("}")
println()
@@ -59,7 +59,7 @@ object FirDiagnosticToKtDiagnosticConverterRenderer : AbstractDiagnosticsDataCla
private fun SmartPrinter.printParameter(parameter: HLDiagnosticParameter) {
val expression = parameter.conversion.convertExpression(
"firDiagnostic.${parameter.originalParameterName}",
ConversionContext(getCurrentIndentInUnits(), getIndentUnit())
ConversionContext(currentIndentLengthInUnits, indentUnitLength)
)
println("$expression,")
}