} return fun val MyData( : Int, : Int) { (): String {
result = result += (param ) {
result += param. param. }
result += result
} } () { data = MyData( , ).toString() println(data) } a b valueParameters name value toString main ""
"MyData("
" = , "
")"
1 2 // MyData(a=1, b=2) [IrFunction] name: toString, type: kotlin.String [IrForLoop] target: MyData#valueParameters, name: param [IrVariable] name: result, type: kotlin.String [IrCall] symbol: kotlin.String.plusAssign value argument: IrConst(value: “MyData(“) dispatch receiver: result [IrCall] symbol: kotlin.String.plusAssign value argument: IrConst(value: “)“) dispatch receiver: result [IrReturn] target: result [IrCall] symbol: kotlin.String.plusAssign value argument: IrConst( value: “${param.name}=${param.value}, “ ) dispatch receiver: result