@@ -80,6 +80,7 @@ import org.jetbrains.kotlin.ir.expressions.IrSetValue
80
80
import org.jetbrains.kotlin.ir.expressions.IrSpreadElement
81
81
import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin
82
82
import org.jetbrains.kotlin.ir.expressions.IrStringConcatenation
83
+ import org.jetbrains.kotlin.ir.expressions.IrSyntheticBody
83
84
import org.jetbrains.kotlin.ir.expressions.IrThrow
84
85
import org.jetbrains.kotlin.ir.expressions.IrTry
85
86
import org.jetbrains.kotlin.ir.expressions.IrTypeOperator
@@ -88,7 +89,6 @@ import org.jetbrains.kotlin.ir.expressions.IrValueAccessExpression
88
89
import org.jetbrains.kotlin.ir.expressions.IrVararg
89
90
import org.jetbrains.kotlin.ir.expressions.IrWhen
90
91
import org.jetbrains.kotlin.ir.expressions.IrWhileLoop
91
- import org.jetbrains.kotlin.ir.expressions.impl.IrIfThenElseImpl
92
92
import org.jetbrains.kotlin.ir.symbols.IrTypeAliasSymbol
93
93
import org.jetbrains.kotlin.ir.types.IrDynamicType
94
94
import org.jetbrains.kotlin.ir.types.IrErrorType
@@ -257,7 +257,7 @@ internal class JcIrSourcePrinter(
257
257
258
258
fun IrFunction.printBody () {
259
259
val body = body ? : return
260
- if (body.statements.isEmpty()) {
260
+ if (body !is IrSyntheticBody && body .statements.isEmpty()) {
261
261
println (" { }" )
262
262
} else {
263
263
bracedBlock {
@@ -648,7 +648,7 @@ internal class JcIrSourcePrinter(
648
648
override fun visitStringConcatenation (expression : IrStringConcatenation ) {
649
649
val arguments = expression.arguments
650
650
val rawStringPreferred = arguments.mapNotNull {
651
- (it as ? IrConst < * > )?.value?.toString()?.rawStringPreferred()
651
+ (it as ? IrConst )?.value?.toString()?.rawStringPreferred()
652
652
}.let {
653
653
it.isNotEmpty() && it.all { it }
654
654
}
@@ -657,7 +657,7 @@ internal class JcIrSourcePrinter(
657
657
print (quote)
658
658
for (argument in arguments) {
659
659
when {
660
- argument is IrConst < * > && argument.kind == IrConstKind .String -> {
660
+ argument is IrConst && argument.kind == IrConstKind .String -> {
661
661
if (rawStringPreferred) {
662
662
print (argument.value.toString())
663
663
} else {
@@ -693,7 +693,7 @@ internal class JcIrSourcePrinter(
693
693
}
694
694
695
695
override fun visitWhen (expression : IrWhen ) {
696
- val isIf = expression.origin == IrStatementOrigin .IF || expression is IrIfThenElseImpl
696
+ val isIf = expression.origin == IrStatementOrigin .IF
697
697
when {
698
698
expression.origin == IrStatementOrigin .OROR -> {
699
699
val lhs = expression.branches[0 ].condition
@@ -711,11 +711,11 @@ internal class JcIrSourcePrinter(
711
711
}
712
712
isIf -> {
713
713
val singleLine = expression.branches.all {
714
- it.result is IrConst < * > || it.result is IrGetValue
714
+ it.result is IrConst || it.result is IrGetValue
715
715
}
716
716
expression.branches.forEachIndexed { index, branch ->
717
717
val isElse = index == expression.branches.size - 1 &&
718
- (branch.condition as ? IrConst < * > )?.value == true
718
+ (branch.condition as ? IrConst )?.value == true
719
719
when {
720
720
index == 0 -> {
721
721
print (" if (" )
@@ -757,7 +757,7 @@ internal class JcIrSourcePrinter(
757
757
print (" when " )
758
758
bracedBlock {
759
759
expression.branches.forEach {
760
- val isElse = (it.condition as ? IrConst < * > )?.value == true
760
+ val isElse = (it.condition as ? IrConst )?.value == true
761
761
762
762
if (isElse) {
763
763
print (" else" )
@@ -1027,7 +1027,7 @@ internal class JcIrSourcePrinter(
1027
1027
return " ${if (value < 0 ) " -" else " " } 0b$result "
1028
1028
}
1029
1029
1030
- override fun visitConst (expression : IrConst < * > ) {
1030
+ override fun visitConst (expression : IrConst ) {
1031
1031
val result = when (expression.kind) {
1032
1032
is IrConstKind .Null -> " ${expression.value} "
1033
1033
is IrConstKind .Boolean -> " ${expression.value} "
@@ -1485,7 +1485,7 @@ internal class JcIrSourcePrinter(
1485
1485
when (irElement) {
1486
1486
null -> append(" <null>" )
1487
1487
is IrConstructorCall -> renderAsAnnotation(irElement)
1488
- is IrConst < * > -> {
1488
+ is IrConst -> {
1489
1489
append(' \' ' )
1490
1490
append(irElement.value.toString())
1491
1491
append(' \' ' )
0 commit comments