diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java index 79ad5052d1f..5c36a8c66ed 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java @@ -1418,6 +1418,12 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest { runTest("compiler/testData/ir/irText/expressions/kt47328.kt"); } + @Test + @TestMetadata("kt47450.kt") + public void testKt47450() throws Exception { + runTest("compiler/testData/ir/irText/expressions/kt47450.kt"); + } + @Test @TestMetadata("lambdaInCAO.kt") public void testLambdaInCAO() throws Exception { diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AnnotationGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AnnotationGenerator.kt index 45103ec9838..665307b80db 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AnnotationGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AnnotationGenerator.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.psi2ir.generators import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid @@ -18,6 +19,10 @@ class AnnotationGenerator(context: GeneratorContext) : IrElementVisitorVoid { element.acceptChildrenVoid(this) } + override fun visitCall(expression: IrCall) { + expression.acceptChildrenVoid(this) + } + override fun visitDeclaration(declaration: IrDeclarationBase) { if (declaration is IrTypeParametersContainer) { typeTranslator.enterScope(declaration) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt index 66cab2c162a..1857dfd99e6 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt @@ -33,7 +33,6 @@ import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl import org.jetbrains.kotlin.ir.types.IrType -import org.jetbrains.kotlin.ir.util.isTrivial import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtExpression @@ -75,37 +74,33 @@ fun StatementGenerator.generateReceiver(defaultStartOffset: Int, defaultEndOffse if (receiver is TransientReceiver) return TransientReceiverValue(irReceiverType) - return generateDelegatedValue(irReceiverType) { - val receiverExpression: IrExpression = when (receiver) { - is ImplicitClassReceiver -> { - val receiverClassDescriptor = receiver.classDescriptor - if (shouldGenerateReceiverAsSingletonReference(receiverClassDescriptor)) - generateSingletonReference(receiverClassDescriptor, defaultStartOffset, defaultEndOffset, receiver.type) - else + return object : ExpressionValue(irReceiverType) { + override fun load(): IrExpression = + when (receiver) { + is ImplicitClassReceiver -> { + val receiverClassDescriptor = receiver.classDescriptor + if (shouldGenerateReceiverAsSingletonReference(receiverClassDescriptor)) + generateSingletonReference(receiverClassDescriptor, defaultStartOffset, defaultEndOffset, receiver.type) + else + IrGetValueImpl( + defaultStartOffset, defaultEndOffset, irReceiverType, + context.symbolTable.referenceValueParameter(receiverClassDescriptor.thisAsReceiverParameter) + ) + } + is ThisClassReceiver -> + generateThisOrSuperReceiver(receiver, receiver.classDescriptor) + is SuperCallReceiverValue -> + generateThisOrSuperReceiver(receiver, receiver.thisType.constructor.declarationDescriptor as ClassDescriptor) + is ExpressionReceiver -> + generateExpression(receiver.expression) + is ExtensionReceiver -> IrGetValueImpl( - defaultStartOffset, defaultEndOffset, irReceiverType, - context.symbolTable.referenceValueParameter(receiverClassDescriptor.thisAsReceiverParameter) + defaultStartOffset, defaultStartOffset, irReceiverType, + context.symbolTable.referenceValueParameter(receiver.declarationDescriptor.extensionReceiverParameter!!) ) + else -> + throw AssertionError("Unexpected receiver: ${receiver::class.java.simpleName}") } - is ThisClassReceiver -> - generateThisOrSuperReceiver(receiver, receiver.classDescriptor) - is SuperCallReceiverValue -> - generateThisOrSuperReceiver(receiver, receiver.thisType.constructor.declarationDescriptor as ClassDescriptor) - is ExpressionReceiver -> - generateExpression(receiver.expression) - is ExtensionReceiver -> - IrGetValueImpl( - defaultStartOffset, defaultStartOffset, irReceiverType, - context.symbolTable.referenceValueParameter(receiver.declarationDescriptor.extensionReceiverParameter!!) - ) - else -> - TODO("Receiver: ${receiver::class.java.simpleName}") - } - - if (receiverExpression.isTrivial()) - RematerializableValue(receiverExpression.type, receiverExpression) - else - OnceExpressionValue(receiverExpression) } } diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/IrSyntheticDeclarationGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/IrSyntheticDeclarationGenerator.kt index a696febbbd5..220604f551a 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/IrSyntheticDeclarationGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/IrSyntheticDeclarationGenerator.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.PsiIrFileEntry import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrFile +import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.util.withScope import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid @@ -37,6 +38,10 @@ class IrSyntheticDeclarationGenerator(context: GeneratorContext) : IrElementVisi element.acceptChildrenVoid(this) } + override fun visitCall(expression: IrCall) { + expression.acceptChildrenVoid(this) + } + private fun collectDescriptors(descriptor: ClassDescriptor): MutableList { val result = mutableListOf() result.addAll(DescriptorUtils.getAllDescriptors(descriptor.unsubstitutedMemberScope)) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/StatementGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/StatementGenerator.kt index 83e74482e03..e424db06d15 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/StatementGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/StatementGenerator.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.VariableDescriptorWithAccessors import org.jetbrains.kotlin.ir.IrStatement +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.builders.Scope import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin @@ -65,34 +66,28 @@ class StatementGenerator( fun KotlinType.toIrType() = typeTranslator.translateType(this) fun generateStatement(ktElement: KtElement): IrStatement = - ktElement.genStmt() - - fun generateStatements(ktStatements: List, to: IrStatementContainer) = - ktStatements.mapTo(to.statements) { generateStatement(it) } - - fun generateExpression(ktExpression: KtExpression): IrExpression = - ktExpression.genExpr() - - private fun KtElement.genStmt(): IrStatement = try { - deparenthesize().accept(this@StatementGenerator, null) + ktElement.deparenthesize().accept(this@StatementGenerator, null) } catch (e: BackendException) { throw e } catch (e: ErrorExpressionException) { throw e } catch (e: Throwable) { - ErrorExpressionGenerator(this@StatementGenerator).generateErrorExpression(this, e) + ErrorExpressionGenerator(this@StatementGenerator).generateErrorExpression(ktElement, e) } - private fun KtElement.genExpr(): IrExpression = - when (val irStatement = genStmt()) { + fun generateStatements(ktStatements: List, to: IrStatementContainer) = + ktStatements.mapTo(to.statements) { generateStatement(it) } + + fun generateExpression(ktElement: KtElement): IrExpression = + when (val irStatement = generateStatement(ktElement)) { is IrExpression -> irStatement is IrDeclaration -> IrBlockImpl( irStatement.startOffset, irStatement.endOffset, - this@StatementGenerator.context.irBuiltIns.unitType, + context.irBuiltIns.unitType, null, listOf(irStatement) ) @@ -122,7 +117,7 @@ class StatementGenerator( property.startOffsetSkippingComments, property.endOffset, IrDeclarationOrigin.DEFINED, variableDescriptor, variableDescriptor.type.toIrType(), - property.initializer?.genExpr() + property.initializer?.let { generateExpression(it) } ) } @@ -141,7 +136,7 @@ class StatementGenerator( context.irBuiltIns.unitType, IrStatementOrigin.DESTRUCTURING_DECLARATION ) val ktInitializer = multiDeclaration.initializer!! - val containerValue = scope.createTemporaryVariableInBlock(context, ktInitializer.genExpr(), irBlock, "container") + val containerValue = scope.createTemporaryVariableInBlock(context, generateExpression(ktInitializer), irBlock, "container") declareComponentVariablesInBlock(multiDeclaration, irBlock, containerValue) @@ -185,7 +180,7 @@ class StatementGenerator( val irBlock = IrBlockImpl(expression.startOffsetSkippingComments, expression.endOffset, returnType.toIrType()) expression.statements.forEach { - irBlock.statements.add(it.genStmt()) + irBlock.statements.add(generateStatement(it)) } return irBlock @@ -193,10 +188,11 @@ class StatementGenerator( override fun visitReturnExpression(expression: KtReturnExpression, data: Nothing?): IrStatement { val returnTarget = getReturnExpressionTarget(expression) - val irReturnedExpression = expression.returnedExpression?.genExpr() ?: IrGetObjectValueImpl( - expression.startOffsetSkippingComments, expression.endOffset, context.irBuiltIns.unitType, - context.symbolTable.referenceClass(context.builtIns.unit) - ) + val irReturnedExpression = expression.returnedExpression?.let { generateExpression(it) } + ?: IrGetObjectValueImpl( + expression.startOffsetSkippingComments, expression.endOffset, context.irBuiltIns.unitType, + context.symbolTable.referenceClass(context.builtIns.unit) + ) return IrReturnImpl( expression.startOffsetSkippingComments, expression.endOffset, context.irBuiltIns.nothingType, context.symbolTable.referenceFunction(returnTarget), irReturnedExpression @@ -231,7 +227,7 @@ class StatementGenerator( expression.startOffsetSkippingComments, expression.endOffset, context.irBuiltIns.nothingType, - expression.thrownExpression!!.genExpr() + generateExpression(expression.thrownExpression!!) ) } @@ -254,7 +250,7 @@ class StatementGenerator( val endOffset = expression.endOffset val resultType = getTypeInferredByFrontendOrFail(expression).toIrType() - val entries = expression.entries.map { it.genExpr() }.postprocessStringTemplateEntries() + val entries = expression.entries.map { generateExpression(it) }.postprocessStringTemplateEntries() return when (entries.size) { 0 -> IrConstImpl.string(startOffset, endOffset, resultType, "") @@ -311,7 +307,7 @@ class StatementGenerator( IrConstImpl.string(entry.startOffsetSkippingComments, entry.endOffset, context.irBuiltIns.stringType, entry.unescapedValue) override fun visitStringTemplateEntryWithExpression(entry: KtStringTemplateEntryWithExpression, data: Nothing?): IrStatement = - entry.expression!!.genExpr() + generateExpression(entry.expression!!) override fun visitSimpleNameExpression(expression: KtSimpleNameExpression, data: Nothing?): IrExpression { val resolvedCall = getResolvedCall(expression) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/intermediate/OnceExpressionValue.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/intermediate/OnceExpressionValue.kt index a559bd07fb6..60b4babc6c4 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/intermediate/OnceExpressionValue.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/intermediate/OnceExpressionValue.kt @@ -28,12 +28,6 @@ inline fun generateExpressionValue(type: IrType, crossinline generate: () -> IrE override fun load(): IrExpression = generate() } -inline fun generateDelegatedValue(type: IrType, crossinline generateValue: () -> IntermediateValue) = - object : ExpressionValue(type) { - val lazyDelegate by lazy { generateValue() } - override fun load(): IrExpression = lazyDelegate.load() - } - class OnceExpressionValue(val irExpression: IrExpression) : LValue, AssignmentReceiver { private var instantiated = false diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt index 721487c5257..f4f91afcc7c 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrStatement +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.PsiIrFileEntry import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.descriptors.IrBasedDeclarationDescriptor @@ -110,6 +111,10 @@ internal class InsertImplicitCasts( override fun visitElement(element: IrElement) { element.acceptChildrenVoid(this) } + + override fun visitCall(expression: IrCall) { + expression.acceptChildrenVoid(this) + } }) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopySymbolRemapper.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopySymbolRemapper.kt index 1abe0783069..9dd3860aa16 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopySymbolRemapper.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopySymbolRemapper.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrBlock +import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.expressions.IrReturnableBlock import org.jetbrains.kotlin.ir.symbols.* import org.jetbrains.kotlin.ir.symbols.impl.* @@ -52,6 +53,10 @@ open class DeepCopySymbolRemapper( element.acceptChildrenVoid(this) } + override fun visitCall(expression: IrCall) { + expression.acceptChildrenVoid(this) + } + protected inline fun > remapSymbol(map: MutableMap, owner: B, createNewSymbol: (S) -> S) { val symbol = owner.symbol as S diff --git a/compiler/testData/ir/irText/expressions/kt47450.kt b/compiler/testData/ir/irText/expressions/kt47450.kt new file mode 100644 index 00000000000..da948f38b5b --- /dev/null +++ b/compiler/testData/ir/irText/expressions/kt47450.kt @@ -0,0 +1,23 @@ +// FIR_IDENTICAL +// SKIP_KLIB_TEST +// SKIP_KT_DUMP + +fun test(z: Int): String { + val result = "" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + "1" + z + + return result +} diff --git a/compiler/testData/ir/irText/expressions/kt47450.txt b/compiler/testData/ir/irText/expressions/kt47450.txt new file mode 100644 index 00000000000..4516544be69 --- /dev/null +++ b/compiler/testData/ir/irText/expressions/kt47450.txt @@ -0,0 +1,755 @@ +FILE fqName: fileName:/kt47450.kt + FUN name:test visibility:public modality:FINAL <> (z:kotlin.Int) returnType:kotlin.String + VALUE_PARAMETER name:z index:0 type:kotlin.Int + BLOCK_BODY + VAR name:result type:kotlin.String [val] + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String [operator] declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CONST String type=kotlin.String value="" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + other: CONST String type=kotlin.String value="1" + other: GET_VAR 'z: kotlin.Int declared in .test' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun test (z: kotlin.Int): kotlin.String declared in ' + GET_VAR 'val result: kotlin.String [val] declared in .test' type=kotlin.String origin=null + diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java index cc19212feaa..319340f021f 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java @@ -1418,6 +1418,12 @@ public class IrTextTestGenerated extends AbstractIrTextTest { runTest("compiler/testData/ir/irText/expressions/kt47328.kt"); } + @Test + @TestMetadata("kt47450.kt") + public void testKt47450() throws Exception { + runTest("compiler/testData/ir/irText/expressions/kt47450.kt"); + } + @Test @TestMetadata("lambdaInCAO.kt") public void testLambdaInCAO() throws Exception { diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt index 788b4be1954..17a2e672b2a 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt @@ -33,6 +33,7 @@ import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumperImpl import org.jetbrains.kotlin.test.utils.withExtension import org.jetbrains.kotlin.test.utils.withSuffixAndExtension import java.io.File +import java.io.PrintStream class IrTextDumpHandler(testServices: TestServices) : AbstractIrHandler(testServices) { companion object { diff --git a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/ir/IrVerifier.kt b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/ir/IrVerifier.kt index 29ac8e9be42..7f34a4719f8 100644 --- a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/ir/IrVerifier.kt +++ b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/ir/IrVerifier.kt @@ -42,6 +42,10 @@ class IrVerifier(private val assertions: Assertions) : IrElementVisitorVoid { require(elements.add(element)) { "Non-unique element: ${element.render()}" } element.acceptChildrenVoid(this) } + + override fun visitCall(expression: IrCall) { + visitElement(expression) + } } fun verifyWithAssert(irFile: IrFile) { @@ -54,6 +58,10 @@ class IrVerifier(private val assertions: Assertions) : IrElementVisitorVoid { element.acceptChildrenVoid(this) } + override fun visitCall(expression: IrCall) { + expression.acceptChildrenVoid(this) + } + @OptIn(ObsoleteDescriptorBasedAPI::class) override fun visitDeclaration(declaration: IrDeclarationBase) { declaration.symbol.checkBinding("decl", declaration) diff --git a/compiler/tests-gen/org/jetbrains/kotlin/ir/KlibTextTestCaseGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/ir/KlibTextTestCaseGenerated.java index 081b73f4a69..b9d0379571d 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/ir/KlibTextTestCaseGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/ir/KlibTextTestCaseGenerated.java @@ -1103,6 +1103,11 @@ public class KlibTextTestCaseGenerated extends AbstractKlibTextTestCase { runTest("compiler/testData/ir/irText/expressions/kt47328.kt"); } + @TestMetadata("kt47450.kt") + public void testKt47450() throws Exception { + runTest("compiler/testData/ir/irText/expressions/kt47450.kt"); + } + @TestMetadata("lambdaInCAO.kt") public void testLambdaInCAO() throws Exception { runTest("compiler/testData/ir/irText/expressions/lambdaInCAO.kt");