diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt index 2b7856ea331..b8a81591428 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt @@ -26,18 +26,13 @@ import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid -import org.jetbrains.kotlin.renderer.AnnotationArgumentsRenderingPolicy import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.utils.Printer -fun IrElement.dump( - symbolRenderer: IrSymbolRenderer = IrSymbolRenderer.Default, - typeRenderer: IrTypeRenderer = IrTypeRenderer.Default -): String { - val sb = StringBuilder() - accept(DumpIrTreeVisitor(sb, symbolRenderer, typeRenderer), "") - return sb.toString() -} +fun IrElement.dump(): String = + StringBuilder().also { sb -> + accept(DumpIrTreeVisitor(sb), "") + }.toString() fun IrFile.dumpTreesFromLineNumber(lineNumber: Int): String { val sb = StringBuilder() @@ -46,22 +41,12 @@ fun IrFile.dumpTreesFromLineNumber(lineNumber: Int): String { } class DumpIrTreeVisitor( - out: Appendable, - symbolRenderer: IrSymbolRenderer = IrSymbolRenderer.Default, - private val typeRenderer: IrTypeRenderer = IrTypeRenderer.Default + out: Appendable ) : IrElementVisitor { - private fun IrType.render() = typeRenderer.render(this) - private val printer = Printer(out, " ") - private val elementRenderer = RenderIrElementVisitor(symbolRenderer, typeRenderer) - - companion object { - val ANNOTATIONS_RENDERER = DescriptorRenderer.withOptions { - verbose = true - annotationArgumentsRenderingPolicy = AnnotationArgumentsRenderingPolicy.UNLESS_EMPTY - } - } + private val elementRenderer = RenderIrElementVisitor() + private fun IrType.render() = elementRenderer.renderType(this) override fun visitElement(element: IrElement, data: String) { element.dumpLabeledElementWith(data) { @@ -103,7 +88,7 @@ class DumpIrTreeVisitor( override fun visitSimpleFunction(declaration: IrSimpleFunction, data: String) { declaration.dumpLabeledElementWith(data) { dumpAnnotations(declaration) - declaration.correspondingProperty?.dumpInternal("correspondingProperty") + declaration.correspondingPropertySymbol?.dumpInternal("correspondingProperty") declaration.overriddenSymbols.dumpItems("overridden") { it.dumpDeclarationElementOrDescriptor() } @@ -288,13 +273,11 @@ class DumpIrTreeVisitor( } } - private inline fun Collection.dumpItemsWith(caption: String, renderElement: (T) -> String) { - if (isEmpty()) return - indented(caption) { - forEach { - printer.println(renderElement(it)) - } - } + private fun IrSymbol.dumpInternal(label: String? = null) { + if (isBound) + owner.dumpInternal(label) + else + printer.println("$label: UNBOUND ${javaClass.simpleName}") } private fun IrElement.dumpInternal(label: String? = null) { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt index f7f6e365ce0..cea5e6baac6 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt @@ -25,101 +25,201 @@ import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.types.* -import org.jetbrains.kotlin.ir.types.impl.originalKotlinType import org.jetbrains.kotlin.ir.visitors.IrElementVisitor -import org.jetbrains.kotlin.renderer.ClassifierNamePolicy import org.jetbrains.kotlin.renderer.DescriptorRenderer -import org.jetbrains.kotlin.renderer.DescriptorRendererModifier -import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.utils.addIfNotNull -fun IrElement.render( - symbolRenderer: IrSymbolRenderer = IrSymbolRenderer.Default, - typeRenderer: IrTypeRenderer = IrTypeRenderer.Default -) = - accept(RenderIrElementVisitor(symbolRenderer, typeRenderer), null) +fun IrElement.render() = + accept(RenderIrElementVisitor(), null) -interface IrSymbolRenderer { - fun render(symbol: IrSymbol): String +class RenderIrElementVisitor : IrElementVisitor { - object Default : IrSymbolRenderer { - override fun render(symbol: IrSymbol): String = - symbol.run { - if (isBound) owner.render() else "UNBOUND ${this.javaClass.simpleName}" + fun renderType(type: IrType) = type.render() + + private fun IrType.render() = + "${renderTypeAnnotations(annotations)}${renderTypeInner()}" + + private fun IrType.renderTypeInner() = + when (this) { + is IrDynamicType -> "dynamic" + + is IrErrorType -> "IrErrorType" + + is IrSimpleType -> buildString { + append(classifier.renderClassifierFqn()) + if (arguments.isNotEmpty()) { + append( + arguments.joinToString(prefix = "<", postfix = ">", separator = ", ") { + it.renderTypeArgument() + } + ) + } + if (hasQuestionMark) { + append('?') + } } - } -} -interface IrTypeRenderer { - fun render(type: IrType): String - - object Default : IrTypeRenderer { - override fun render(type: IrType): String { - return type.run { "${renderTypeAnnotations(annotations)}${renderTypeInner()}" } + else -> "{${javaClass.simpleName} $this}" } - private fun renderTypeAnnotations(annotations: List) = - if (annotations.isEmpty()) - "" - else - annotations.joinToString(prefix = "", postfix = " ", separator = " ") { "@[${it.render()}]" } + private fun IrTypeArgument.renderTypeArgument(): String = + when (this) { + is IrStarProjection -> "*" + + is IrTypeProjection -> buildString { + append(variance.label) + if (variance != Variance.INVARIANT) append(' ') + append(type.render()) + } + + else -> "IrTypeArgument[$this]" + } - private fun IrType.renderTypeInner(): String = - when (this) { - is IrDynamicType -> "dynamic" + private fun renderTypeAnnotations(annotations: List) = + if (annotations.isEmpty()) + "" + else + annotations.joinToString(prefix = "", postfix = " ", separator = " ") { "@[${it.render()}]" } - is IrErrorType -> "ERROR" + private fun IrSymbol.renderReference() = + if (isBound) + owner.accept(symbolReferenceRenderer, null) + else + "UNBOUND ${javaClass.simpleName}" - is IrSimpleType -> buildString { - append(classifier.renderClassifierFqn()) - if (arguments.isNotEmpty()) { - append( - arguments.joinToString(prefix = "<", postfix = ">", separator = ", ") { - it.renderTypeArgument() - } - ) + private val symbolReferenceRenderer = BoundSymbolReferenceRenderer() + + private inner class BoundSymbolReferenceRenderer : + IrElementVisitor { + + override fun visitElement(element: IrElement, data: Nothing?) = + element.accept(this@RenderIrElementVisitor, null) + + override fun visitVariable(declaration: IrVariable, data: Nothing?) = + buildString { + if (declaration.isVar) append("var ") else append("val ") + + append(declaration.name.asString()) + append(": ") + append(declaration.type.render()) + append(' ') + + append(declaration.renderVariableFlags()) + + renderDeclaredIn(declaration) + } + + override fun visitValueParameter(declaration: IrValueParameter, data: Nothing?) = + buildString { + append(declaration.name.asString()) + append(": ") + append(declaration.type.render()) + append(' ') + + append(declaration.renderValueParameterFlags()) + + renderDeclaredIn(declaration) + } + + override fun visitFunction(declaration: IrFunction, data: Nothing?) = + buildString { + append(declaration.visibility) + append(' ') + + if (declaration is IrSimpleFunction) { + append(declaration.modality.toString().toLowerCase()) + append(' ') + } + + when (declaration) { + is IrSimpleFunction -> append("fun ") + is IrConstructor -> append("constructor ") + else -> append("{${declaration.javaClass.simpleName}}") + } + + append(declaration.name.asString()) + append(' ') + + if (declaration.typeParameters.isNotEmpty()) { + appendListWith(declaration.typeParameters, "<", ">", ", ") { typeParameter -> + append(typeParameter.name.asString()) } - if (hasQuestionMark) { - append('?') + append(' ') + } + + appendListWith(declaration.valueParameters, "(", ")", ", ") { valueParameter -> + val varargElementType = valueParameter.varargElementType + if (varargElementType != null) { + append("vararg ") + append(valueParameter.name.asString()) + append(": ") + append(varargElementType.render()) + } else { + append(valueParameter.name.asString()) + append(": ") + append(valueParameter.type.render()) } } + if (declaration is IrSimpleFunction) { + append(": ") + append(declaration.returnType.render()) + } + append(' ') + + when (declaration) { + is IrSimpleFunction -> append(declaration.renderSimpleFunctionFlags()) + is IrConstructor -> append(declaration.renderConstructorFlags()) + } + + renderDeclaredIn(declaration) + } + + private fun StringBuilder.renderDeclaredIn(irDeclaration: IrDeclaration) { + append("declared in ") + renderParentOfReferencedDeclaration(irDeclaration) + } + + private fun StringBuilder.renderParentOfReferencedDeclaration(declaration: IrDeclaration) { + val parent = try { + declaration.parent + } catch (e: Exception) { + append("") + return + } + when (parent) { + is IrPackageFragment -> { + val fqn = parent.fqName.asString() + append(if (fqn.isEmpty()) "" else fqn) + } + is IrDeclaration -> { + renderParentOfReferencedDeclaration(parent) + append('.') + if (parent is IrDeclarationWithName) { + append(parent.name) + } else { + renderElementNameFallback(parent) + } + } else -> - originalKotlinType?.let { - "$this[=${DECLARATION_RENDERER.renderType(it)}]" - } ?: "IrType without originalKotlinType: $this" + renderElementNameFallback(parent) } + } - private fun IrTypeArgument.renderTypeArgument(): String = - when (this) { - is IrStarProjection -> "*" - - is IrTypeProjection -> buildString { - append(variance.label) - if (variance != Variance.INVARIANT) append(' ') - append(render(type)) - } - - else -> "IrTypeArgument[$this]" - } + private fun StringBuilder.renderElementNameFallback(element: Any) { + append('{') + append(element.javaClass.simpleName) + append('}') + } } -} - -class RenderIrElementVisitor( - private val symbolRenderer: IrSymbolRenderer = IrSymbolRenderer.Default, - private val typeRenderer: IrTypeRenderer = IrTypeRenderer.Default -) : IrElementVisitor { - - private fun IrType.render() = typeRenderer.render(this) - private fun IrSymbol.renderReference() = symbolRenderer.render(this) override fun visitElement(element: IrElement, data: Nothing?): String = - "?ELEMENT? ${element::class.java.simpleName} $this" + "?ELEMENT? ${element::class.java.simpleName} $element" override fun visitDeclaration(declaration: IrDeclaration, data: Nothing?): String = - "?DECLARATION? ${declaration::class.java.simpleName} $this" + "?DECLARATION? ${declaration::class.java.simpleName} $declaration" override fun visitModuleFragment(declaration: IrModuleFragment, data: Nothing?): String = "MODULE_FRAGMENT name:${declaration.name}" @@ -140,11 +240,16 @@ class RenderIrElementVisitor( renderTypeParameters() + " " + renderValueParameterTypes() + " " + "returnType:${returnType.render()} " + - "flags:${renderSimpleFunctionFlags()}" + renderSimpleFunctionFlags() } private fun renderFlagsList(vararg flags: String?) = - flags.filterNotNull().joinToString(prefix = "[", postfix = "]", separator = ",") + flags.filterNotNull().run { + if (isNotEmpty()) + joinToString(prefix = "[", postfix = "] ", separator = ",") + else + "" + } private fun IrSimpleFunction.renderSimpleFunctionFlags(): String = renderFlagsList( @@ -171,7 +276,7 @@ class RenderIrElementVisitor( renderTypeParameters() + " " + renderValueParameterTypes() + " " + "returnType:${returnType.render()} " + - "flags:${renderConstructorFlags()}" + renderConstructorFlags() } private fun IrConstructor.renderConstructorFlags() = @@ -185,7 +290,7 @@ class RenderIrElementVisitor( declaration.run { "PROPERTY ${renderOriginIfNonTrivial()}" + "name:$name visibility:$visibility modality:$modality " + - "flags:${renderPropertyFlags()}" + renderPropertyFlags() } private fun IrProperty.renderPropertyFlags() = @@ -200,7 +305,7 @@ class RenderIrElementVisitor( override fun visitField(declaration: IrField, data: Nothing?): String = "FIELD ${declaration.renderOriginIfNonTrivial()}" + "name:${declaration.name} type:${declaration.type.render()} visibility:${declaration.visibility} " + - "flags:${declaration.renderFieldFlags()}" + declaration.renderFieldFlags() private fun IrField.renderFieldFlags() = renderFlagsList( @@ -213,7 +318,7 @@ class RenderIrElementVisitor( declaration.run { "CLASS ${renderOriginIfNonTrivial()}" + "$kind name:$name modality:$modality visibility:$visibility " + - "flags:${renderClassFlags()} " + + renderClassFlags() + "superTypes:[${superTypes.joinToString(separator = "; ") { it.render() }}]" } @@ -228,7 +333,7 @@ class RenderIrElementVisitor( override fun visitVariable(declaration: IrVariable, data: Nothing?): String = "VAR ${declaration.renderOriginIfNonTrivial()}" + - "name:${declaration.name} type:${declaration.type.render()} flags:${declaration.renderVariableFlags()}" + "name:${declaration.name} type:${declaration.type.render()} ${declaration.renderVariableFlags()}" private fun IrVariable.renderVariableFlags(): String = renderFlagsList( @@ -257,7 +362,7 @@ class RenderIrElementVisitor( (if (index >= 0) "index:$index " else "") + "type:${type.render()} " + (varargElementType?.let { "varargElementType:${it.render()} " } ?: "") + - "flags:${renderValueParameterFlags()}" + renderValueParameterFlags() } private fun IrValueParameter.renderValueParameterFlags(): String = @@ -380,7 +485,7 @@ class RenderIrElementVisitor( override fun visitPropertyReference(expression: IrPropertyReference, data: Nothing?): String = buildString { append("PROPERTY_REFERENCE ") - append("'${expression.descriptor.ref()}' ") + append("'${expression.symbol.renderReference()}' ") appendNullableAttribute("field=", expression.field) { "'${it.renderReference()}'" } appendNullableAttribute("getter=", expression.getter) { "'${it.renderReference()}'" } appendNullableAttribute("setter=", expression.setter) { "'${it.renderReference()}'" } @@ -437,16 +542,6 @@ class RenderIrElementVisitor( "ERROR_CALL '${expression.description}' type=${expression.type.render()}" } -@Deprecated("Rewrite descriptor-based code") -private val DECLARATION_RENDERER = DescriptorRenderer.withOptions { - withDefinedIn = false - overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE - includePropertyConstant = true - classifierNamePolicy = ClassifierNamePolicy.FULLY_QUALIFIED - verbose = false - modifiers = DescriptorRendererModifier.ALL -} - @Deprecated("Rewrite descriptor-based code") private val REFERENCE_RENDERER = DescriptorRenderer.ONLY_NAMES_WITH_SHORT_TYPES @@ -478,20 +573,15 @@ internal fun IrClass.renderClassFqn(): String = StringBuilder().also { renderDeclarationFqn(it) }.toString() internal fun IrTypeParameter.renderTypeParameterFqn(): String = - StringBuilder().also { renderDeclarationFqn(it) }.toString() + StringBuilder().also { sb -> + sb.append(name.asString()) + sb.append(" of ") + renderDeclarationParentFqn(sb) + }.toString() private fun IrDeclaration.renderDeclarationFqn(sb: StringBuilder) { - try { - val parent = this.parent - if (parent is IrDeclaration) { - parent.renderDeclarationFqn(sb) - } else if (parent is IrPackageFragment) { - sb.append(parent.fqName.toString()) - } - sb.append('.') - } catch (e: UninitializedPropertyAccessException) { - sb.append(".") - } + renderDeclarationParentFqn(sb) + sb.append('.') if (this is IrDeclarationWithName) { sb.append(name.asString()) } else { @@ -499,4 +589,34 @@ private fun IrDeclaration.renderDeclarationFqn(sb: StringBuilder) { } } -fun IrType.render() = IrTypeRenderer.Default.render(this) \ No newline at end of file +private fun IrDeclaration.renderDeclarationParentFqn(sb: StringBuilder) { + try { + val parent = this.parent + if (parent is IrDeclaration) { + parent.renderDeclarationFqn(sb) + } else if (parent is IrPackageFragment) { + sb.append(parent.fqName.toString()) + } + } catch (e: UninitializedPropertyAccessException) { + sb.append("") + } +} + +fun IrType.render() = RenderIrElementVisitor().renderType(this) + +internal inline fun StringBuilder.appendListWith( + list: List, + prefix: String, + postfix: String, + separator: String, + renderItem: StringBuilder.(T) -> Unit +) { + append(prefix) + var isFirst = true + for (item in list) { + if (!isFirst) append(separator) + renderItem(item) + isFirst = false + } + append(postfix) +} diff --git a/compiler/testData/ir/irCfg/expressionFun.txt b/compiler/testData/ir/irCfg/expressionFun.txt index 9ae59542721..218817acc25 100644 --- a/compiler/testData/ir/irCfg/expressionFun.txt +++ b/compiler/testData/ir/irCfg/expressionFun.txt @@ -2,11 +2,11 @@ // FUN: foo BB 0 CONTENT - 1 FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int flags:[] - 2 GET_VAR 'VALUE_PARAMETER name:arg index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 3 RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int flags:[]' + 1 FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int + 2 GET_VAR 'arg: kotlin.Int declared in .foo' type=kotlin.Int origin=null + 3 RETURN type=kotlin.Nothing from='public final fun foo (arg: kotlin.Int): kotlin.Int declared in ' OUTGOING -> NONE - Function exit: FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int flags:[] + Function exit: FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int // END FUN: foo diff --git a/compiler/testData/ir/irCfg/expressionUnit.txt b/compiler/testData/ir/irCfg/expressionUnit.txt index e5b16392d90..f682188a03a 100644 --- a/compiler/testData/ir/irCfg/expressionUnit.txt +++ b/compiler/testData/ir/irCfg/expressionUnit.txt @@ -2,11 +2,11 @@ // FUN: foo BB 0 CONTENT - 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] - 2 GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - 3 RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' + 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit + 2 GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + 3 RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Unit declared in ' OUTGOING -> NONE - Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit // END FUN: foo diff --git a/compiler/testData/ir/irCfg/loop/digitCount.txt b/compiler/testData/ir/irCfg/loop/digitCount.txt index 1b6121ca732..b6c86488a14 100644 --- a/compiler/testData/ir/irCfg/loop/digitCount.txt +++ b/compiler/testData/ir/irCfg/loop/digitCount.txt @@ -2,11 +2,11 @@ // FUN: digitCountInNumber BB 0 CONTENT - 1 FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:[] + 1 FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int 2 CONST Int type=kotlin.Int value=0 - 3 VAR name:count type:kotlin.Int flags:[var] - 4 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 5 VAR name:number type:kotlin.Int flags:[var] + 3 VAR name:count type:kotlin.Int [var] + 4 GET_VAR 'n: kotlin.Int declared in .digitCountInNumber' type=kotlin.Int origin=null + 5 VAR name:number type:kotlin.Int [var] 6 DO_WHILE label=null origin=DO_WHILE_LOOP OUTGOING -> BB 1 Do..while entry: DO_WHILE label=null origin=DO_WHILE_LOOP @@ -15,20 +15,20 @@ INCOMING <- BB 0, 4 Do..while entry: DO_WHILE label=null origin=DO_WHILE_LOOP CONTENT 1 WHEN type=kotlin.Unit origin=IF - 2 GET_VAR 'VALUE_PARAMETER name:m index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 3 GET_VAR 'VAR name:number type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + 2 GET_VAR 'm: kotlin.Int declared in .digitCountInNumber' type=kotlin.Int origin=null + 3 GET_VAR 'var number: kotlin.Int [var] declared in .digitCountInNumber' type=kotlin.Int origin=null 4 CONST Int type=kotlin.Int value=10 - 5 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERC + 5 CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERC OUTGOING -> BB 2 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ BB 2 INCOMING <- BB 1 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT - 1 GET_VAR 'VAR name:count type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - 2 VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - 3 SET_VAR 'VAR name:count type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - 4 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + 1 GET_VAR 'var count: kotlin.Int [var] declared in .digitCountInNumber' type=kotlin.Int origin=POSTFIX_INCR + 2 VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + 3 SET_VAR 'var count: kotlin.Int [var] declared in .digitCountInNumber' type=kotlin.Unit origin=POSTFIX_INCR + 4 GET_VAR 'val tmp0: kotlin.Int [val] declared in .digitCountInNumber' type=kotlin.Int origin=null 5 TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit OUTGOING -> BB 3 When exit: WHEN type=kotlin.Unit origin=IF @@ -36,20 +36,20 @@ BB 3 INCOMING <- BB 2 When exit: WHEN type=kotlin.Unit origin=IF CONTENT - 1 SET_VAR 'VAR name:number type:kotlin.Int flags:[var]' type=kotlin.Unit origin=DIVEQ - 2 GET_VAR 'VAR name:number type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + 1 SET_VAR 'var number: kotlin.Int [var] declared in .digitCountInNumber' type=kotlin.Unit origin=DIVEQ + 2 GET_VAR 'var number: kotlin.Int [var] declared in .digitCountInNumber' type=kotlin.Int origin=null 3 CONST Int type=kotlin.Int value=0 OUTGOING -> BB 4, 5 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT BB 4 INCOMING <- BB 3 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT OUTGOING -> BB 1 Do..while entry: DO_WHILE label=null origin=DO_WHILE_LOOP BB 5 INCOMING <- BB 3 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT OUTGOING -> BB 6 Do..while exit: DO_WHILE label=null origin=DO_WHILE_LOOP @@ -57,10 +57,10 @@ BB 6 INCOMING <- BB 5 Do..while exit: DO_WHILE label=null origin=DO_WHILE_LOOP CONTENT - 1 GET_VAR 'VAR name:count type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - 2 RETURN type=kotlin.Nothing from='FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:[]' + 1 GET_VAR 'var count: kotlin.Int [var] declared in .digitCountInNumber' type=kotlin.Int origin=null + 2 RETURN type=kotlin.Nothing from='public final fun digitCountInNumber (n: kotlin.Int, m: kotlin.Int): kotlin.Int declared in ' OUTGOING -> NONE - Function exit: FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:[] + Function exit: FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int // END FUN: digitCountInNumber diff --git a/compiler/testData/ir/irCfg/loop/factorial.txt b/compiler/testData/ir/irCfg/loop/factorial.txt index 9b1d4020958..53ca9339823 100644 --- a/compiler/testData/ir/irCfg/loop/factorial.txt +++ b/compiler/testData/ir/irCfg/loop/factorial.txt @@ -2,14 +2,14 @@ // FUN: factorial BB 0 CONTENT - 1 FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[] + 1 FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int 2 CONST Int type=kotlin.Int value=1 - 3 VAR name:result type:kotlin.Int flags:[var] + 3 VAR name:result type:kotlin.Int [var] 4 CONST Int type=kotlin.Int value=2 - 5 GET_VAR 'VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 6 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' type=kotlin.ranges.IntRange origin=RANGE - 7 CALL 'FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.ranges.IntProgression) returnType:kotlin.collections.IntIterator flags:[]' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR - 8 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val] + 5 GET_VAR 'i: kotlin.Int declared in .factorial' type=kotlin.Int origin=null + 6 CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE + 7 CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR + 8 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator [val] 9 WHILE label=null origin=FOR_LOOP_INNER_WHILE OUTGOING -> BB 1 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE @@ -17,22 +17,22 @@ BB 1 INCOMING <- BB 0, 2 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE CONTENT - 1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null + 1 GET_VAR 'val tmp0_iterator: kotlin.collections.IntIterator [val] declared in .factorial' type=kotlin.collections.IntIterator origin=null OUTGOING -> BB 2, 3 - CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT BB 2 INCOMING <- BB 1 - CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT CONTENT - 1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null - 2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:FINAL <> ($this:kotlin.collections.IntIterator) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=FOR_LOOP_NEXT - 3 VAR FOR_LOOP_VARIABLE name:j type:kotlin.Int flags:[val] - 4 SET_VAR 'VAR name:result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=MULTEQ + 1 GET_VAR 'val tmp0_iterator: kotlin.collections.IntIterator [val] declared in .factorial' type=kotlin.collections.IntIterator origin=null + 2 CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT + 3 VAR FOR_LOOP_VARIABLE name:j type:kotlin.Int [val] + 4 SET_VAR 'var result: kotlin.Int [var] declared in .factorial' type=kotlin.Unit origin=MULTEQ OUTGOING -> BB 1 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE BB 3 INCOMING <- BB 1 - CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT CONTENT OUTGOING -> BB 4 While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE @@ -40,10 +40,10 @@ BB 4 INCOMING <- BB 3 While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE CONTENT - 1 GET_VAR 'VAR name:result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - 2 RETURN type=kotlin.Nothing from='FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[]' + 1 GET_VAR 'var result: kotlin.Int [var] declared in .factorial' type=kotlin.Int origin=null + 2 RETURN type=kotlin.Nothing from='public final fun factorial (i: kotlin.Int): kotlin.Int declared in ' OUTGOING -> NONE - Function exit: FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[] + Function exit: FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int // END FUN: factorial diff --git a/compiler/testData/ir/irCfg/loop/isPerfect.txt b/compiler/testData/ir/irCfg/loop/isPerfect.txt index 38ebd7b9955..86b0a75deb9 100644 --- a/compiler/testData/ir/irCfg/loop/isPerfect.txt +++ b/compiler/testData/ir/irCfg/loop/isPerfect.txt @@ -2,16 +2,16 @@ // FUN: isPerfect BB 0 CONTENT - 1 FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:[] + 1 FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean 2 CONST Int type=kotlin.Int value=1 - 3 VAR name:sum type:kotlin.Int flags:[var] + 3 VAR name:sum type:kotlin.Int [var] 4 CONST Int type=kotlin.Int value=2 - 5 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 5 GET_VAR 'n: kotlin.Int declared in .isPerfect' type=kotlin.Int origin=null 6 CONST Int type=kotlin.Int value=2 - 7 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=DIV - 8 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' type=kotlin.ranges.IntRange origin=RANGE - 9 CALL 'FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.ranges.IntProgression) returnType:kotlin.collections.IntIterator flags:[]' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR - 10 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val] + 7 CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIV + 8 CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE + 9 CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR + 10 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator [val] 11 WHILE label=null origin=FOR_LOOP_INNER_WHILE OUTGOING -> BB 1 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE @@ -19,56 +19,56 @@ BB 1 INCOMING <- BB 0, 3, 6 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE CONTENT - 1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null + 1 GET_VAR 'val tmp0_iterator: kotlin.collections.IntIterator [val] declared in .isPerfect' type=kotlin.collections.IntIterator origin=null OUTGOING -> BB 2, 7 - CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT BB 2 INCOMING <- BB 1 - CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT CONTENT - 1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null - 2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:FINAL <> ($this:kotlin.collections.IntIterator) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=FOR_LOOP_NEXT - 3 VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int flags:[val] + 1 GET_VAR 'val tmp0_iterator: kotlin.collections.IntIterator [val] declared in .isPerfect' type=kotlin.collections.IntIterator origin=null + 2 CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT + 3 VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int [val] 4 WHEN type=kotlin.Unit origin=IF - 5 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 6 GET_VAR 'VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - 7 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERC + 5 GET_VAR 'n: kotlin.Int declared in .isPerfect' type=kotlin.Int origin=null + 6 GET_VAR 'val m: kotlin.Int [val] declared in .isPerfect' type=kotlin.Int origin=null + 7 CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERC 8 CONST Int type=kotlin.Int value=0 OUTGOING -> BB 3, 4 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT BB 3 INCOMING <- BB 2 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT 1 CONTINUE label=null loop.label=null OUTGOING -> BB 1 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE BB 4 INCOMING <- BB 2 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT - 1 SET_VAR 'VAR name:sum type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PLUSEQ + 1 SET_VAR 'var sum: kotlin.Int [var] declared in .isPerfect' type=kotlin.Unit origin=PLUSEQ 2 WHEN type=kotlin.Unit origin=IF - 3 GET_VAR 'VAR name:sum type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - 4 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 3 GET_VAR 'var sum: kotlin.Int [var] declared in .isPerfect' type=kotlin.Int origin=null + 4 GET_VAR 'n: kotlin.Int declared in .isPerfect' type=kotlin.Int origin=null OUTGOING -> BB 5, 6 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT BB 5 INCOMING <- BB 4 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT 1 BREAK label=null loop.label=null OUTGOING -> BB 8 While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE BB 6 INCOMING <- BB 4 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT OUTGOING -> BB 1 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE BB 7 INCOMING <- BB 1 - CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT CONTENT OUTGOING -> BB 8 While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE @@ -76,12 +76,12 @@ BB 8 INCOMING <- BB 5, 7 While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE CONTENT - 1 GET_VAR 'VAR name:sum type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - 2 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 3 CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - 4 RETURN type=kotlin.Nothing from='FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:[]' + 1 GET_VAR 'var sum: kotlin.Int [var] declared in .isPerfect' type=kotlin.Int origin=null + 2 GET_VAR 'n: kotlin.Int declared in .isPerfect' type=kotlin.Int origin=null + 3 CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + 4 RETURN type=kotlin.Nothing from='public final fun isPerfect (n: kotlin.Int): kotlin.Boolean declared in ' OUTGOING -> NONE - Function exit: FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:[] + Function exit: FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean // END FUN: isPerfect diff --git a/compiler/testData/ir/irCfg/returnUnit.txt b/compiler/testData/ir/irCfg/returnUnit.txt index ced5fa8649b..503a77bbc39 100644 --- a/compiler/testData/ir/irCfg/returnUnit.txt +++ b/compiler/testData/ir/irCfg/returnUnit.txt @@ -2,11 +2,11 @@ // FUN: foo BB 0 CONTENT - 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] - 2 GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - 3 RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' + 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit + 2 GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + 3 RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Unit declared in ' OUTGOING -> NONE - Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit // END FUN: foo diff --git a/compiler/testData/ir/irCfg/sequentialFun.txt b/compiler/testData/ir/irCfg/sequentialFun.txt index 12975726f3f..55559b0c7df 100644 --- a/compiler/testData/ir/irCfg/sequentialFun.txt +++ b/compiler/testData/ir/irCfg/sequentialFun.txt @@ -2,15 +2,15 @@ // FUN: foo BB 0 CONTENT - 1 FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int flags:[] - 2 GET_VAR 'VALUE_PARAMETER name:arg index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 1 FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int + 2 GET_VAR 'arg: kotlin.Int declared in .foo' type=kotlin.Int origin=null 3 CONST Int type=kotlin.Int value=2 - 4 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MUL - 5 VAR name:dbl type:kotlin.Int flags:[val] - 6 GET_VAR 'VAR name:dbl type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - 7 RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int flags:[]' + 4 CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MUL + 5 VAR name:dbl type:kotlin.Int [val] + 6 GET_VAR 'val dbl: kotlin.Int [val] declared in .foo' type=kotlin.Int origin=null + 7 RETURN type=kotlin.Nothing from='public final fun foo (arg: kotlin.Int): kotlin.Int declared in ' OUTGOING -> NONE - Function exit: FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int flags:[] + Function exit: FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Int) returnType:kotlin.Int // END FUN: foo diff --git a/compiler/testData/ir/irCfg/simpleFun.txt b/compiler/testData/ir/irCfg/simpleFun.txt index 17de8958023..a5e25325c86 100644 --- a/compiler/testData/ir/irCfg/simpleFun.txt +++ b/compiler/testData/ir/irCfg/simpleFun.txt @@ -2,9 +2,9 @@ // FUN: foo BB 0 CONTENT - 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit OUTGOING -> NONE - Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit // END FUN: foo diff --git a/compiler/testData/ir/irCfg/simpleReturn.txt b/compiler/testData/ir/irCfg/simpleReturn.txt index 6772ec6f8c5..5caf13402ee 100644 --- a/compiler/testData/ir/irCfg/simpleReturn.txt +++ b/compiler/testData/ir/irCfg/simpleReturn.txt @@ -2,11 +2,11 @@ // FUN: foo BB 0 CONTENT - 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] - 2 GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - 3 RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' + 1 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit + 2 GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + 3 RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Unit declared in ' OUTGOING -> NONE - Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + Function exit: FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit // END FUN: foo diff --git a/compiler/testData/ir/irCfg/when/cascadeIf.txt b/compiler/testData/ir/irCfg/when/cascadeIf.txt index dc5f4c68c6a..c4bd49357fd 100644 --- a/compiler/testData/ir/irCfg/when/cascadeIf.txt +++ b/compiler/testData/ir/irCfg/when/cascadeIf.txt @@ -2,36 +2,36 @@ // FUN: compare BB 0 CONTENT - 1 FUN name:compare visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[] + 1 FUN name:compare visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int 2 WHEN type=kotlin.Int origin=IF - 3 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 4 GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 3 GET_VAR 'x: kotlin.Int declared in .compare' type=kotlin.Int origin=null + 4 GET_VAR 'y: kotlin.Int declared in .compare' type=kotlin.Int origin=null OUTGOING -> BB 1, 3 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT BB 1 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT - 1 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 2 GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 1 GET_VAR 'x: kotlin.Int declared in .compare' type=kotlin.Int origin=null + 2 GET_VAR 'y: kotlin.Int declared in .compare' type=kotlin.Int origin=null OUTGOING -> BB 2, 4 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT BB 2 INCOMING <- BB 1 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT OUTGOING -> BB 5 CONST Boolean type=kotlin.Boolean value=true BB 3 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT 1 CONST Int type=kotlin.Int value=1 OUTGOING -> BB 6 When exit: WHEN type=kotlin.Int origin=IF BB 4 INCOMING <- BB 1 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT 1 CONST Int type=kotlin.Int value=-1 OUTGOING -> BB 6 @@ -47,9 +47,9 @@ BB 6 INCOMING <- BB 3, 4, 5 When exit: WHEN type=kotlin.Int origin=IF CONTENT - 1 RETURN type=kotlin.Nothing from='FUN name:compare visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' + 1 RETURN type=kotlin.Nothing from='public final fun compare (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' OUTGOING -> NONE - Function exit: FUN name:compare visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[] + Function exit: FUN name:compare visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int // END FUN: compare diff --git a/compiler/testData/ir/irCfg/when/emptyWhen.txt b/compiler/testData/ir/irCfg/when/emptyWhen.txt index d6098a261d0..cae38f0a720 100644 --- a/compiler/testData/ir/irCfg/when/emptyWhen.txt +++ b/compiler/testData/ir/irCfg/when/emptyWhen.txt @@ -2,7 +2,7 @@ // FUN: empty BB 0 CONTENT - 1 FUN name:empty visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + 1 FUN name:empty visibility:public modality:FINAL <> () returnType:kotlin.Int 2 WHEN type=kotlin.Int origin=WHEN OUTGOING -> BB 1 CONST Boolean type=kotlin.Boolean value=true @@ -17,9 +17,9 @@ BB 2 INCOMING <- BB 1 When exit: WHEN type=kotlin.Int origin=WHEN CONTENT - 1 RETURN type=kotlin.Nothing from='FUN name:empty visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + 1 RETURN type=kotlin.Nothing from='public final fun empty (): kotlin.Int declared in ' OUTGOING -> NONE - Function exit: FUN name:empty visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + Function exit: FUN name:empty visibility:public modality:FINAL <> () returnType:kotlin.Int // END FUN: empty diff --git a/compiler/testData/ir/irCfg/when/expressionIf.txt b/compiler/testData/ir/irCfg/when/expressionIf.txt index 68499269da9..99b06e1e1df 100644 --- a/compiler/testData/ir/irCfg/when/expressionIf.txt +++ b/compiler/testData/ir/irCfg/when/expressionIf.txt @@ -2,39 +2,39 @@ // FUN: max BB 0 CONTENT - 1 FUN name:max visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[] + 1 FUN name:max visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int 2 WHEN type=kotlin.Int origin=IF - 3 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - 4 GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 3 GET_VAR 'x: kotlin.Int declared in .max' type=kotlin.Int origin=null + 4 GET_VAR 'y: kotlin.Int declared in .max' type=kotlin.Int origin=null OUTGOING -> BB 1, 2 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT BB 1 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT OUTGOING -> BB 3 CONST Boolean type=kotlin.Boolean value=true BB 2 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT - 1 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 1 GET_VAR 'x: kotlin.Int declared in .max' type=kotlin.Int origin=null OUTGOING -> BB 4 When exit: WHEN type=kotlin.Int origin=IF BB 3 INCOMING <- BB 1 CONST Boolean type=kotlin.Boolean value=true CONTENT - 1 GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + 1 GET_VAR 'y: kotlin.Int declared in .max' type=kotlin.Int origin=null OUTGOING -> BB 4 When exit: WHEN type=kotlin.Int origin=IF BB 4 INCOMING <- BB 2, 3 When exit: WHEN type=kotlin.Int origin=IF CONTENT - 1 RETURN type=kotlin.Nothing from='FUN name:max visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' + 1 RETURN type=kotlin.Nothing from='public final fun max (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' OUTGOING -> NONE - Function exit: FUN name:max visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[] + Function exit: FUN name:max visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int // END FUN: max diff --git a/compiler/testData/ir/irCfg/when/ifChain.txt b/compiler/testData/ir/irCfg/when/ifChain.txt index f4bcd8c4c1f..94b13b76d04 100644 --- a/compiler/testData/ir/irCfg/when/ifChain.txt +++ b/compiler/testData/ir/irCfg/when/ifChain.txt @@ -2,153 +2,153 @@ // FUN: minBiRoot BB 0 CONTENT - 1 FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[] + 1 FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double 2 WHEN type=kotlin.Unit origin=IF - 3 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + 3 GET_VAR 'a: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null 4 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 1, 6 - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ BB 1 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT 1 WHEN type=kotlin.Unit origin=IF - 2 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + 2 GET_VAR 'b: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null 3 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 2, 3 - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ BB 2 INCOMING <- BB 1 - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT 1 CONST Double type=kotlin.Double value=1.0 - 2 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun minBiRoot (a: kotlin.Double, b: kotlin.Double, c: kotlin.Double): kotlin.Double declared in ' OUTGOING -> NONE - Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[] + Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double BB 3 INCOMING <- BB 1 - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT - 1 GET_VAR 'VALUE_PARAMETER name:c index:2 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS - 3 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 4 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=DIV - 5 VAR name:bc type:kotlin.Double flags:[val] + 1 GET_VAR 'c: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 2 CALL 'public final fun unaryMinus (): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=UMINUS + 3 GET_VAR 'b: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 4 CALL 'public final fun div (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=DIV + 5 VAR name:bc type:kotlin.Double [val] 6 WHEN type=kotlin.Unit origin=IF - 7 GET_VAR 'VAR name:bc type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + 7 GET_VAR 'val bc: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null 8 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 4, 5 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT BB 4 INCOMING <- BB 3 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT 1 CONST Double type=kotlin.Double value=2.0 - 2 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun minBiRoot (a: kotlin.Double, b: kotlin.Double, c: kotlin.Double): kotlin.Double declared in ' OUTGOING -> NONE - Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[] + Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double BB 5 INCOMING <- BB 3 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT - 1 GET_VAR 'VAR name:bc type:kotlin.Double flags:[val]' type=kotlin.Double origin=null - 2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS - 3 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]' + 1 GET_VAR 'val bc: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null + 2 CALL 'public final fun unaryMinus (): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=UMINUS + 3 RETURN type=kotlin.Nothing from='public final fun minBiRoot (a: kotlin.Double, b: kotlin.Double, c: kotlin.Double): kotlin.Double declared in ' OUTGOING -> NONE - Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[] + Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double BB 6 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT - 1 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 2 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 3 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL + 1 GET_VAR 'b: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 2 GET_VAR 'b: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 3 CALL 'public final fun times (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=MUL 4 CONST Int type=kotlin.Int value=4 - 5 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 6 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL - 7 GET_VAR 'VALUE_PARAMETER name:c index:2 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 8 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL - 9 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MINUS - 10 VAR name:d type:kotlin.Double flags:[val] + 5 GET_VAR 'a: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 6 CALL 'public final fun times (other: kotlin.Double): kotlin.Double declared in kotlin.Int' type=kotlin.Double origin=MUL + 7 GET_VAR 'c: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 8 CALL 'public final fun times (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=MUL + 9 CALL 'public final fun minus (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=MINUS + 10 VAR name:d type:kotlin.Double [val] 11 WHEN type=kotlin.Unit origin=IF - 12 GET_VAR 'VAR name:d type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + 12 GET_VAR 'val d: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null 13 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 7, 8 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT BB 7 INCOMING <- BB 6 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT 1 CONST Double type=kotlin.Double value=3.0 - 2 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun minBiRoot (a: kotlin.Double, b: kotlin.Double, c: kotlin.Double): kotlin.Double declared in ' OUTGOING -> NONE - Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[] + Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double BB 8 INCOMING <- BB 6 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT - 1 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS - 3 GET_VAR 'VAR name:d type:kotlin.Double flags:[val]' type=kotlin.Double origin=null - 4 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=PLUS + 1 GET_VAR 'b: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 2 CALL 'public final fun unaryMinus (): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=UMINUS + 3 GET_VAR 'val d: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null + 4 CALL 'public final fun plus (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=PLUS 5 CONST Int type=kotlin.Int value=2 - 6 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 7 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL - 8 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=DIV - 9 VAR name:y1 type:kotlin.Double flags:[val] - 10 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 11 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS - 12 GET_VAR 'VAR name:d type:kotlin.Double flags:[val]' type=kotlin.Double origin=null - 13 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MINUS + 6 GET_VAR 'a: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 7 CALL 'public final fun times (other: kotlin.Double): kotlin.Double declared in kotlin.Int' type=kotlin.Double origin=MUL + 8 CALL 'public final fun div (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=DIV + 9 VAR name:y1 type:kotlin.Double [val] + 10 GET_VAR 'b: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 11 CALL 'public final fun unaryMinus (): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=UMINUS + 12 GET_VAR 'val d: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null + 13 CALL 'public final fun minus (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=MINUS 14 CONST Int type=kotlin.Int value=2 - 15 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - 16 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL - 17 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=DIV - 18 VAR name:y2 type:kotlin.Double flags:[val] + 15 GET_VAR 'a: kotlin.Double declared in .minBiRoot' type=kotlin.Double origin=null + 16 CALL 'public final fun times (other: kotlin.Double): kotlin.Double declared in kotlin.Int' type=kotlin.Double origin=MUL + 17 CALL 'public final fun div (other: kotlin.Double): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=DIV + 18 VAR name:y2 type:kotlin.Double [val] 19 WHEN type=kotlin.Double origin=IF - 20 GET_VAR 'VAR name:y1 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null - 21 GET_VAR 'VAR name:y2 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + 20 GET_VAR 'val y1: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null + 21 GET_VAR 'val y2: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null OUTGOING -> BB 9, 10 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT BB 9 INCOMING <- BB 8 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT OUTGOING -> BB 11 CONST Boolean type=kotlin.Boolean value=true BB 10 INCOMING <- BB 8 - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT + CALL 'public final fun greater (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT CONTENT - 1 GET_VAR 'VAR name:y1 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + 1 GET_VAR 'val y1: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null OUTGOING -> BB 12 When exit: WHEN type=kotlin.Double origin=IF BB 11 INCOMING <- BB 9 CONST Boolean type=kotlin.Boolean value=true CONTENT - 1 GET_VAR 'VAR name:y2 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + 1 GET_VAR 'val y2: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null OUTGOING -> BB 12 When exit: WHEN type=kotlin.Double origin=IF BB 12 INCOMING <- BB 10, 11 When exit: WHEN type=kotlin.Double origin=IF CONTENT - 1 VAR name:y3 type:kotlin.Double flags:[val] + 1 VAR name:y3 type:kotlin.Double [val] 2 WHEN type=kotlin.Double origin=IF - 3 GET_VAR 'VAR name:y3 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + 3 GET_VAR 'val y3: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null 4 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 13, 14 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT BB 13 INCOMING <- BB 12 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT OUTGOING -> BB 15 CONST Boolean type=kotlin.Boolean value=true BB 14 INCOMING <- BB 12 - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT CONTENT 1 CONST Double type=kotlin.Double value=4.0 OUTGOING -> BB 16 @@ -157,17 +157,17 @@ BB 15 INCOMING <- BB 13 CONST Boolean type=kotlin.Boolean value=true CONTENT - 1 GET_VAR 'VAR name:y3 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null - 2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS + 1 GET_VAR 'val y3: kotlin.Double [val] declared in .minBiRoot' type=kotlin.Double origin=null + 2 CALL 'public final fun unaryMinus (): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=UMINUS OUTGOING -> BB 16 When exit: WHEN type=kotlin.Double origin=IF BB 16 INCOMING <- BB 14, 15 When exit: WHEN type=kotlin.Double origin=IF CONTENT - 1 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]' + 1 RETURN type=kotlin.Nothing from='public final fun minBiRoot (a: kotlin.Double, b: kotlin.Double, c: kotlin.Double): kotlin.Double declared in ' OUTGOING -> NONE - Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[] + Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double // END FUN: minBiRoot diff --git a/compiler/testData/ir/irCfg/when/whenReturn.txt b/compiler/testData/ir/irCfg/when/whenReturn.txt index ab8485f3981..168f72b0179 100644 --- a/compiler/testData/ir/irCfg/when/whenReturn.txt +++ b/compiler/testData/ir/irCfg/when/whenReturn.txt @@ -2,92 +2,92 @@ // FUN: toString BB 0 CONTENT - 1 FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] - 2 GET_VAR 'VALUE_PARAMETER name:grade index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - 3 VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val] + 1 FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String + 2 GET_VAR 'grade: kotlin.String declared in .toString' type=kotlin.String origin=null + 3 VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String [val] 4 WHEN type=kotlin.Nothing origin=WHEN - 5 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + 5 GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null 6 CONST String type=kotlin.String value="A" OUTGOING -> BB 1, 5 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ BB 1 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT - 1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + 1 GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null 2 CONST String type=kotlin.String value="B" OUTGOING -> BB 2, 6 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ BB 2 INCOMING <- BB 1 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT - 1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + 1 GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null 2 CONST String type=kotlin.String value="C" OUTGOING -> BB 3, 7 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ BB 3 INCOMING <- BB 2 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT - 1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + 1 GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null 2 CONST String type=kotlin.String value="D" OUTGOING -> BB 4, 8 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ BB 4 INCOMING <- BB 3 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT OUTGOING -> BB 9, 10 CONST Boolean type=kotlin.Boolean value=true BB 5 INCOMING <- BB 0 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT 1 CONST String type=kotlin.String value="Excellent" - 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' OUTGOING -> NONE - Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] + Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String BB 6 INCOMING <- BB 1 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT 1 CONST String type=kotlin.String value="Good" - 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' OUTGOING -> NONE - Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] + Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String BB 7 INCOMING <- BB 2 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT 1 CONST String type=kotlin.String value="Mediocre" - 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' OUTGOING -> NONE - Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] + Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String BB 8 INCOMING <- BB 3 - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ CONTENT 1 CONST String type=kotlin.String value="Fair" - 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' OUTGOING -> NONE - Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] + Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String BB 9 INCOMING <- BB 4 CONST Boolean type=kotlin.Boolean value=true CONTENT 1 CONST String type=kotlin.String value="Failure" - 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' OUTGOING -> NONE - Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] + Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String BB 10 INCOMING <- BB 4 CONST Boolean type=kotlin.Boolean value=true CONTENT 1 CONST String type=kotlin.String value="???" - 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + 2 RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' OUTGOING -> NONE - Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] + Function exit: FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String // END FUN: toString diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicAndMembersOfAny.txt b/compiler/testData/ir/irJsText/dynamic/dynamicAndMembersOfAny.txt index a547023beb2..e998cf7af93 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicAndMembersOfAny.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicAndMembersOfAny.txt @@ -1,26 +1,26 @@ FILE fqName: fileName:/dynamicAndMembersOfAny.kt - FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.String + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test1 (d: dynamic): kotlin.String declared in ' + CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String origin=null $this: TYPE_OP type=kotlin.Any origin=IMPLICIT_CAST typeOperand=kotlin.Any - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:[] superTypes:[] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public superTypes:[] + GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null + FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun test2 (d: dynamic): kotlin.Int declared in ' + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null $this: TYPE_OP type=kotlin.Any origin=IMPLICIT_CAST typeOperand=kotlin.Any - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:[] superTypes:[] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - FUN name:test3 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public superTypes:[] + GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null + FUN name:test3 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + RETURN type=kotlin.Nothing from='public final fun test3 (d: dynamic): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null $this: TYPE_OP type=kotlin.Any origin=IMPLICIT_CAST typeOperand=kotlin.Any - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:[] superTypes:[] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public superTypes:[] + GET_VAR 'd: dynamic declared in .test3' type=dynamic origin=null other: CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.txt index e541cc0a415..ee7e692c29e 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.txt @@ -1,24 +1,24 @@ FILE fqName: fileName:/dynamicArrayAccess.kt - FUN name:testArrayAccess1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testArrayAccess1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testArrayAccess1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testArrayAccess1 (d: dynamic): dynamic declared in ' DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayAccess1' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" - FUN name:testArrayAccess2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testArrayAccess2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testArrayAccess2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testArrayAccess2 (d: dynamic): dynamic declared in ' DYN_OP operator=ARRAY_ACCESS type=dynamic receiver: DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=VARIABLE_AS_FUNCTION + receiver: GET_VAR 'd: dynamic declared in .testArrayAccess2' type=dynamic origin=VARIABLE_AS_FUNCTION 0: CONST String type=kotlin.String value="KEY" - FUN name:testArrayAccess3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testArrayAccess3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testArrayAccess3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testArrayAccess3 (d: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='get' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testArrayAccess3' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.txt index f07fbf78c21..928b3918c20 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/dynamicArrayAssignment.kt - FUN name:testArrayAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testArrayAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY DYN_OP operator=EQ type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" 0: CONST Int type=kotlin.Int value=1 - FUN name:testArrayAssignmentFake visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testArrayAssignmentFake visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='set' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testArrayAssignmentFake' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" 1: CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.txt index 0a54a1c22be..104c60c66c1 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/dynamicArrayAugmentedAssignment.kt - FUN name:testArrayAugmentedAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testArrayAugmentedAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY DYN_OP operator=PLUSEQ type=kotlin.Unit receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayAugmentedAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" 0: CONST String type=kotlin.String value="+=" DYN_OP operator=MINUSEQ type=kotlin.Unit receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayAugmentedAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" 0: CONST String type=kotlin.String value="-=" DYN_OP operator=MULEQ type=kotlin.Unit receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayAugmentedAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" 0: CONST String type=kotlin.String value="*=" DYN_OP operator=DIVEQ type=kotlin.Unit receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayAugmentedAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" 0: CONST String type=kotlin.String value="/=" DYN_OP operator=MODEQ type=kotlin.Unit receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayAugmentedAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="KEY" 0: CONST String type=kotlin.String value="%=" diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.txt index 83f0a8ada19..4c46085f08c 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.txt @@ -1,24 +1,24 @@ FILE fqName: fileName:/dynamicArrayIncrementDecrement.kt - FUN name:testArrayIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testArrayIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - VAR name:t1 type:dynamic flags:[val] + VAR name:t1 type:dynamic [val] DYN_OP operator=PREFIX_INCREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayIncrementDecrement' type=dynamic origin=null 0: CONST String type=kotlin.String value="prefixIncr" - VAR name:t2 type:dynamic flags:[val] + VAR name:t2 type:dynamic [val] DYN_OP operator=PREFIX_DECREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayIncrementDecrement' type=dynamic origin=null 0: CONST String type=kotlin.String value="prefixDecr" - VAR name:t3 type:dynamic flags:[val] + VAR name:t3 type:dynamic [val] DYN_OP operator=POSTFIX_INCREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayIncrementDecrement' type=dynamic origin=null 0: CONST String type=kotlin.String value="postfixIncr" - VAR name:t4 type:dynamic flags:[val] + VAR name:t4 type:dynamic [val] DYN_OP operator=POSTFIX_DECREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testArrayIncrementDecrement' type=dynamic origin=null 0: CONST String type=kotlin.String value="postfixDecr" diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.txt index 0d5471098ca..85d5e0d270a 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/dynamicBinaryEqualityOperator.kt - FUN name:testEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testEqeq (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=EQEQ type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testEqeq' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=3 - FUN name:testExclEq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testExclEq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testExclEq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testExclEq (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=EXCLEQ type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testExclEq' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=3 - FUN name:testEqeqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testEqeqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testEqeqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testEqeqeq (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=EQEQEQ type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testEqeqeq' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=3 - FUN name:testExclEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testExclEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testExclEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testExclEqeq (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=EXCLEQEQ type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testExclEqeq' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=3 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.txt index 05fde1b5aac..43acebeb3d8 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.txt @@ -1,15 +1,15 @@ FILE fqName: fileName:/dynamicBinaryLogicalOperator.kt - FUN name:testAndAnd visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testAndAnd visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testAndAnd visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testAndAnd (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=ANDAND type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - 0: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - FUN name:testOrOr visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + receiver: GET_VAR 'd: dynamic declared in .testAndAnd' type=dynamic origin=null + 0: GET_VAR 'd: dynamic declared in .testAndAnd' type=dynamic origin=null + FUN name:testOrOr visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testOrOr visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testOrOr (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=OROR type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - 0: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testOrOr' type=dynamic origin=null + 0: GET_VAR 'd: dynamic declared in .testOrOr' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.txt index 7c7082298a1..eee8f81e635 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.txt @@ -1,36 +1,36 @@ FILE fqName: fileName:/dynamicBinaryOperator.kt - FUN name:testBinaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testBinaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testBinaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testBinaryPlus (d: dynamic): dynamic declared in ' DYN_OP operator=BINARY_PLUS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testBinaryPlus' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 - FUN name:testBinaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testBinaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testBinaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testBinaryMinus (d: dynamic): dynamic declared in ' DYN_OP operator=BINARY_MINUS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testBinaryMinus' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 - FUN name:testMul visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testMul visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testMul visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testMul (d: dynamic): dynamic declared in ' DYN_OP operator=MUL type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testMul' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=2 - FUN name:testDiv visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testDiv visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDiv visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDiv (d: dynamic): dynamic declared in ' DYN_OP operator=DIV type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testDiv' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=2 - FUN name:testMod visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testMod visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testMod visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testMod (d: dynamic): dynamic declared in ' DYN_OP operator=MOD type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testMod' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.txt index ec14d3de312..02b366afd41 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/dynamicBinaryRelationalOperator.kt - FUN name:testLess visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testLess visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testLess visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testLess (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=LT type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testLess' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=2 - FUN name:testLessOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testLessOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testLessOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testLessOrEqual (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=LE type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testLessOrEqual' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=2 - FUN name:testGreater visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testGreater visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testGreater visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testGreater (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=GT type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testGreater' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=2 - FUN name:testGreaterOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testGreaterOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testGreaterOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testGreaterOrEqual (d: dynamic): kotlin.Boolean declared in ' DYN_OP operator=GE type=kotlin.Boolean - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testGreaterOrEqual' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicCall.txt b/compiler/testData/ir/irJsText/dynamic/dynamicCall.txt index d442a11c64c..2113bfe3b57 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicCall.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicCall.txt @@ -1,42 +1,42 @@ FILE fqName: fileName:/dynamicCall.kt - FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (d: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 1: CONST Int type=kotlin.Int value=2 2: CONST Int type=kotlin.Int value=3 - FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (d: dynamic): dynamic declared in ' BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .test2' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .test2' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 1: CONST Int type=kotlin.Int value=2 2: CONST Int type=kotlin.Int value=3 - FUN name:test3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (d: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .test3' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 1: CONST Int type=kotlin.Int value=2 2: CONST Int type=kotlin.Int value=3 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicElvisOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicElvisOperator.txt index ebf175dd91f..607a8b34dbd 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicElvisOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicElvisOperator.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/dynamicElvisOperator.kt - FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (d: dynamic): dynamic declared in ' BLOCK type=dynamic origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:dynamic [val] + GET_VAR 'd: dynamic declared in .test' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: dynamic [val] declared in .test' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST String type=kotlin.String value="other" BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:dynamic flags:[val]' type=dynamic origin=null + then: GET_VAR 'val tmp0_elvis_lhs: dynamic [val] declared in .test' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicExclExclOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicExclExclOperator.txt index 9c9aaf3d2ca..99e1431f479 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicExclExclOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicExclExclOperator.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/dynamicExclExclOperator.kt - FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (d: dynamic): dynamic declared in ' BLOCK type=dynamic origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:dynamic [val] + GET_VAR 'd: dynamic declared in .test' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_notnull: dynamic [val] declared in .test' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'public final fun THROW_NPE (): kotlin.Nothing declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:dynamic flags:[val]' type=dynamic origin=null + then: GET_VAR 'val tmp0_notnull: dynamic [val] declared in .test' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.txt b/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.txt index 1a7b8524594..307bbbac460 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/dynamicInfixCall.kt - FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (d: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='foo' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=123 - FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (d: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=123 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.txt index b88d75ad2d3..6c075f990cb 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.txt @@ -1,24 +1,24 @@ FILE fqName: fileName:/dynamicMemberAccess.kt - FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (d: dynamic): dynamic declared in ' DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null + FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (d: dynamic): dynamic declared in ' BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .test2' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .test2' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.txt index 3a276b66c62..50b798cbea5 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.txt @@ -1,28 +1,28 @@ FILE fqName: fileName:/dynamicMemberAssignment.kt - FUN name:testMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY DYN_OP operator=EQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=kotlin.Unit - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testMemberAssignment' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 - FUN name:testSafeMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testSafeMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeMemberAssignment' type=dynamic origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .testSafeMemberAssignment' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=EQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=kotlin.Unit - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .testSafeMemberAssignment' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.txt index 5371afb9868..42251ffaff6 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.txt @@ -1,112 +1,112 @@ FILE fqName: fileName:/dynamicMemberAugmentedAssignment.kt - FUN name:testAugmentedMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testAugmentedMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY DYN_OP operator=PLUSEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="+=" DYN_OP operator=MINUSEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="-=" DYN_OP operator=MULEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="*=" DYN_OP operator=DIVEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="/=" DYN_OP operator=MODEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'd: dynamic declared in .testAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="%=" - FUN name:testSafeAugmentedMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testSafeAugmentedMemberAssignment visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=PLUSEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="+=" BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=MINUSEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp1_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="-=" BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp2_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=MULEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp2_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="*=" BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp3_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=DIVEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp3_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="/=" BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp4_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp4_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp4_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=MODEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp4_safe_receiver: dynamic [val] declared in .testSafeAugmentedMemberAssignment' type=dynamic origin=null 0: CONST String type=kotlin.String value="%=" diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.txt index 42c77a1cd38..8b396572292 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.txt @@ -1,83 +1,83 @@ FILE fqName: fileName:/dynamicMemberIncrementDecrement.kt - FUN name:testMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - VAR name:t1 type:dynamic flags:[val] + VAR name:t1 type:dynamic [val] DYN_OP operator=PREFIX_INCREMENT type=dynamic receiver: DYN_MEMBER memberName='prefixIncr' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - VAR name:t2 type:dynamic flags:[val] + GET_VAR 'd: dynamic declared in .testMemberIncrementDecrement' type=dynamic origin=null + VAR name:t2 type:dynamic [val] DYN_OP operator=PREFIX_DECREMENT type=dynamic receiver: DYN_MEMBER memberName='prefixDecr' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - VAR name:t3 type:dynamic flags:[val] + GET_VAR 'd: dynamic declared in .testMemberIncrementDecrement' type=dynamic origin=null + VAR name:t3 type:dynamic [val] DYN_OP operator=POSTFIX_INCREMENT type=dynamic receiver: DYN_MEMBER memberName='postfixIncr' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - VAR name:t4 type:dynamic flags:[val] + GET_VAR 'd: dynamic declared in .testMemberIncrementDecrement' type=dynamic origin=null + VAR name:t4 type:dynamic [val] DYN_OP operator=POSTFIX_DECREMENT type=dynamic receiver: DYN_MEMBER memberName='postfixDecr' type=dynamic - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - FUN name:testSafeMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + GET_VAR 'd: dynamic declared in .testMemberIncrementDecrement' type=dynamic origin=null + FUN name:testSafeMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - VAR name:t1 type:dynamic flags:[val] + VAR name:t1 type:dynamic [val] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=PREFIX_INCREMENT type=dynamic receiver: DYN_MEMBER memberName='prefixIncr' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null - VAR name:t2 type:dynamic flags:[val] + GET_VAR 'val tmp0_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null + VAR name:t2 type:dynamic [val] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=PREFIX_DECREMENT type=dynamic receiver: DYN_MEMBER memberName='prefixDecr' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null - VAR name:t3 type:dynamic flags:[val] + GET_VAR 'val tmp1_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null + VAR name:t3 type:dynamic [val] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp2_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=POSTFIX_INCREMENT type=dynamic receiver: DYN_MEMBER memberName='postfixIncr' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null - VAR name:t4 type:dynamic flags:[val] + GET_VAR 'val tmp2_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null + VAR name:t4 type:dynamic [val] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic [val] + GET_VAR 'd: dynamic declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null WHEN type=dynamic origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp3_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: DYN_OP operator=POSTFIX_DECREMENT type=dynamic receiver: DYN_MEMBER memberName='postfixDecr' type=dynamic - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null + GET_VAR 'val tmp3_safe_receiver: dynamic [val] declared in .testSafeMemberIncrementDecrement' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.txt index e09625a9313..da6d1a7e4d4 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.txt @@ -1,19 +1,19 @@ FILE fqName: fileName:/dynamicUnaryOperator.kt - FUN name:testUnaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:testUnaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testUnaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testUnaryMinus (d: dynamic): dynamic declared in ' DYN_OP operator=UNARY_MINUS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - FUN name:testUnaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + receiver: GET_VAR 'd: dynamic declared in .testUnaryMinus' type=dynamic origin=null + FUN name:testUnaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testUnaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testUnaryPlus (d: dynamic): dynamic declared in ' DYN_OP operator=UNARY_PLUS type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - FUN name:testExcl visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + receiver: GET_VAR 'd: dynamic declared in .testUnaryPlus' type=dynamic origin=null + FUN name:testExcl visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testExcl visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun testExcl (d: dynamic): dynamic declared in ' DYN_OP operator=EXCL type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + receiver: GET_VAR 'd: dynamic declared in .testExcl' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicWithImplicitCast.txt b/compiler/testData/ir/irJsText/dynamic/dynamicWithImplicitCast.txt index 4cccab1b7df..7daa49bff2d 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicWithImplicitCast.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicWithImplicitCast.txt @@ -1,33 +1,33 @@ FILE fqName: fileName:/dynamicWithImplicitCast.kt - FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (d: dynamic): kotlin.Int declared in ' WHEN type=kotlin.Int origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence] + GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null + then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence] + GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=-1 - FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:d index:0 type:dynamic flags:[] + FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int + VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (d: dynamic): kotlin.Int declared in ' WHEN type=kotlin.Int origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Array<*> - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Array) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public superTypes:[kotlin.Any] + GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null + then: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.Array origin=IMPLICIT_CAST typeOperand=kotlin.Array - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public superTypes:[kotlin.Any] + GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=-1 diff --git a/compiler/testData/ir/irJsText/dynamic/invokeOperator.txt b/compiler/testData/ir/irJsText/dynamic/invokeOperator.txt index 400304bc666..9088d3b7255 100644 --- a/compiler/testData/ir/irJsText/dynamic/invokeOperator.txt +++ b/compiler/testData/ir/irJsText/dynamic/invokeOperator.txt @@ -1,61 +1,61 @@ FILE fqName: fileName:/invokeOperator.kt - FUN name:invoke visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:invoke visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - FUN name:test1 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:a index:0 type:dynamic flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic + VALUE_PARAMETER name:a index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (a: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' type=dynamic origin=VARIABLE_AS_FUNCTION + receiver: GET_VAR 'a: dynamic declared in .test1' type=dynamic origin=VARIABLE_AS_FUNCTION 0: CONST Int type=kotlin.Int value=1 - FUN name:test2 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:a index:0 type:dynamic flags:[] + FUN name:test2 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic + VALUE_PARAMETER name:a index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (a: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic - GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' type=dynamic origin=null + GET_VAR 'a: dynamic declared in .test2' type=dynamic origin=null 0: CONST Int type=kotlin.Int value=1 - FUN name:test3 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:a index:0 type:dynamic flags:[] - VALUE_PARAMETER name:b index:1 type:dynamic flags:[] + FUN name:test3 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic + VALUE_PARAMETER name:a index:0 type:dynamic + VALUE_PARAMETER name:b index:1 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (a: dynamic, b: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' type=dynamic origin=VARIABLE_AS_FUNCTION - 0: GET_VAR 'VALUE_PARAMETER name:b index:1 type:dynamic flags:[]' type=dynamic origin=null - FUN name:test4 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:a index:0 type:dynamic flags:[] - VALUE_PARAMETER name:b index:1 type:dynamic flags:[] + receiver: GET_VAR 'a: dynamic declared in .test3' type=dynamic origin=VARIABLE_AS_FUNCTION + 0: GET_VAR 'b: dynamic declared in .test3' type=dynamic origin=null + FUN name:test4 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic + VALUE_PARAMETER name:a index:0 type:dynamic + VALUE_PARAMETER name:b index:1 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test4 (a: dynamic, b: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic - GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' type=dynamic origin=null - 0: GET_VAR 'VALUE_PARAMETER name:b index:1 type:dynamic flags:[]' type=dynamic origin=null - FUN name:test5 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:a index:0 type:dynamic flags:[] - VALUE_PARAMETER name:b index:1 type:dynamic flags:[] + GET_VAR 'a: dynamic declared in .test4' type=dynamic origin=null + 0: GET_VAR 'b: dynamic declared in .test4' type=dynamic origin=null + FUN name:test5 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic + VALUE_PARAMETER name:a index:0 type:dynamic + VALUE_PARAMETER name:b index:1 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5 (a: dynamic, b: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' type=dynamic origin=VARIABLE_AS_FUNCTION - 0: GET_VAR 'VALUE_PARAMETER name:b index:1 type:dynamic flags:[]' type=dynamic origin=null - 0: GET_VAR 'VALUE_PARAMETER name:b index:1 type:dynamic flags:[]' type=dynamic origin=null - FUN name:test6 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[] - VALUE_PARAMETER name:a index:0 type:dynamic flags:[] - VALUE_PARAMETER name:b index:1 type:dynamic flags:[] + receiver: GET_VAR 'a: dynamic declared in .test5' type=dynamic origin=VARIABLE_AS_FUNCTION + 0: GET_VAR 'b: dynamic declared in .test5' type=dynamic origin=null + 0: GET_VAR 'b: dynamic declared in .test5' type=dynamic origin=null + FUN name:test6 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic + VALUE_PARAMETER name:a index:0 type:dynamic + VALUE_PARAMETER name:b index:1 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6 (a: dynamic, b: dynamic): dynamic declared in ' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' type=dynamic origin=VARIABLE_AS_FUNCTION - 0: GET_VAR 'VALUE_PARAMETER name:b index:1 type:dynamic flags:[]' type=dynamic origin=null - 0: GET_VAR 'VALUE_PARAMETER name:b index:1 type:dynamic flags:[]' type=dynamic origin=null - FUN name:test7 visibility:public modality:FINAL <> (a:dynamic) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:dynamic flags:[] + receiver: GET_VAR 'a: dynamic declared in .test6' type=dynamic origin=VARIABLE_AS_FUNCTION + 0: GET_VAR 'b: dynamic declared in .test6' type=dynamic origin=null + 0: GET_VAR 'b: dynamic declared in .test6' type=dynamic origin=null + FUN name:test7 visibility:public modality:FINAL <> (a:dynamic) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:dynamic BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test7 visibility:public modality:FINAL <> (a:dynamic) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:invoke visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun test7 (a: dynamic): kotlin.Unit declared in ' + CALL 'public final fun invoke (): kotlin.Unit declared in ' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irJsText/native/nativeNativeKotlin.txt b/compiler/testData/ir/irJsText/native/nativeNativeKotlin.txt index f1d03833939..e818e33f483 100644 --- a/compiler/testData/ir/irJsText/native/nativeNativeKotlin.txt +++ b/compiler/testData/ir/irJsText/native/nativeNativeKotlin.txt @@ -1,74 +1,74 @@ FILE fqName:foo fileName:/nativeNativeKotlin.kt - CLASS CLASS name:A modality:OPEN visibility:public flags:[external] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:foo.A flags:[external,primary] - FUN name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:foo.A flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS CLASS name:A modality:OPEN visibility:public [external] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.A + CONSTRUCTOR visibility:public <> () returnType:foo.A [external,primary] + FUN name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:foo.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:B modality:OPEN visibility:public flags:[external] superTypes:[foo.A] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.B flags:[] - CONSTRUCTOR visibility:public <> () returnType:foo.B flags:[external,primary] - FUN name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:foo.B flags:[] - FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:OPEN visibility:public [external] superTypes:[foo.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.B + CONSTRUCTOR visibility:public <> () returnType:foo.B [external,primary] + FUN name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:foo.B + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String overridden: - FUN name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:foo.A flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:foo.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[foo.B] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:foo.C flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[foo.B] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.C + CONSTRUCTOR visibility:public <> () returnType:foo.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:foo.B flags:[external,primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[foo.B]' - FUN FAKE_OVERRIDE name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [external,primary] declared in foo.B' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[foo.B]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String overridden: - FUN name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:foo.B flags:[] - FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String flags:[] + FUN name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:foo.B + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:foo.A flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:foo.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - VAR name:c type:foo.C flags:[val] - CALL 'CONSTRUCTOR visibility:public <> () returnType:foo.C flags:[primary]' type=foo.C origin=null - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + VAR name:c type:foo.C [val] + CALL 'public constructor () [primary] declared in foo.C' type=foo.C origin=null + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in foo' CONST String type=kotlin.String value="OK" diff --git a/compiler/testData/ir/irText/classes/abstractMembers.txt b/compiler/testData/ir/irText/classes/abstractMembers.txt index 0f9c7b12391..c25f4184b95 100644 --- a/compiler/testData/ir/irText/classes/abstractMembers.txt +++ b/compiler/testData/ir/irText/classes/abstractMembers.txt @@ -1,63 +1,63 @@ FILE fqName: fileName:/abstractMembers.kt - CLASS CLASS name:AbstractClass modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AbstractClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.AbstractClass flags:[primary] + CLASS CLASS name:AbstractClass modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AbstractClass + CONSTRUCTOR visibility:public <> () returnType:.AbstractClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:AbstractClass modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:abstractFun visibility:public modality:ABSTRACT <> ($this:.AbstractClass) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.AbstractClass flags:[] - PROPERTY name:abstractVal visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.AbstractClass) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:abstractVal visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.AbstractClass flags:[] - PROPERTY name:abstractVar visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.AbstractClass) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.AbstractClass flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.AbstractClass, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.AbstractClass flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:AbstractClass modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN name:abstractFun visibility:public modality:ABSTRACT <> ($this:.AbstractClass) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.AbstractClass + PROPERTY name:abstractVal visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.AbstractClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:abstractVal visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.AbstractClass + PROPERTY name:abstractVar visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.AbstractClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.AbstractClass + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.AbstractClass, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.AbstractClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:Interface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Interface flags:[] - FUN name:abstractFun visibility:public modality:ABSTRACT <> ($this:.Interface) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Interface flags:[] - PROPERTY name:abstractVal visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Interface) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:abstractVal visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.Interface flags:[] - PROPERTY name:abstractVar visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Interface) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.Interface flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Interface, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.Interface flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:Interface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Interface + FUN name:abstractFun visibility:public modality:ABSTRACT <> ($this:.Interface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Interface + PROPERTY name:abstractVal visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Interface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:abstractVal visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.Interface + PROPERTY name:abstractVar visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Interface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.Interface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Interface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:abstractVar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.Interface + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/annotationClasses.txt b/compiler/testData/ir/irText/classes/annotationClasses.txt index 8b47200425f..617d4e15b74 100644 --- a/compiler/testData/ir/irText/classes/annotationClasses.txt +++ b/compiler/testData/ir/irText/classes/annotationClasses.txt @@ -1,115 +1,115 @@ FILE fqName: fileName:/annotationClasses.kt - CLASS ANNOTATION_CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test1 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test1 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] - CONSTRUCTOR visibility:public <> (x:.Test1) returnType:.Test3 flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Test1 flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.Test1 visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 + CONSTRUCTOR visibility:public <> (x:.Test1) returnType:.Test3 [primary] + VALUE_PARAMETER name:x index:0 type:.Test1 + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:.Test1 visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test1 flags:[]' type=.Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:.Test1 flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'x: .Test1 declared in .Test3.' type=.Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:.Test1 + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:.Test1 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Test1 visibility:public flags:[final]' type=.Test1 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): .Test1 declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Test1 visibility:public [final] ' type=.Test1 origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 flags:[] - CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.Test4 flags:[primary] - VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int flags:[vararg] - PROPERTY name:xs visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 + CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.Test4 [primary] + VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int [vararg] + PROPERTY name:xs visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int flags:[vararg]' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.IntArray flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test4 flags:[] + GET_VAR 'xs: kotlin.IntArray [vararg] declared in .Test4.' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test4 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.IntArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public flags:[final]' type=kotlin.IntArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.IntArray declared in .Test4' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public [final] ' type=kotlin.IntArray origin=null + receiver: GET_VAR ': .Test4 declared in .Test4.' type=.Test4 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt b/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt index c3040b7e9b5..4a068f53540 100644 --- a/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt +++ b/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt @@ -1,149 +1,149 @@ FILE fqName: fileName:/argumentReorderingInDelegatingConstructorCall.kt - CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Base flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Base [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Base flags:[] + GET_VAR 'x: kotlin.Int declared in .Base.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Base BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Base flags:[]' type=.Base origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Base flags:[] + GET_VAR 'y: kotlin.Int declared in .Base.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Base BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Base flags:[]' type=.Base origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> (xx:kotlin.Int, yy:kotlin.Int) returnType:.Test1 flags:[primary] - VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:yy index:1 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> (xx:kotlin.Int, yy:kotlin.Int) returnType:.Test1 [primary] + VALUE_PARAMETER name:xx index:0 type:kotlin.Int + VALUE_PARAMETER name:yy index:1 type:kotlin.Int BLOCK_BODY BLOCK type=kotlin.Unit origin=ARGUMENTS_REORDERING_FOR_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_y type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:yy index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Base flags:[primary]' - x: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - y: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_y type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.Base]' - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[final] + VAR IR_TEMPORARY_VARIABLE name:tmp0_y type:kotlin.Int [val] + GET_VAR 'yy: kotlin.Int declared in .Test1.' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int [val] + GET_VAR 'xx: kotlin.Int declared in .Test1.' type=kotlin.Int origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int, y: kotlin.Int) [primary] declared in .Base' + x: GET_VAR 'val tmp1_x: kotlin.Int [val] declared in .Test1.' type=kotlin.Int origin=null + y: GET_VAR 'val tmp0_y: kotlin.Int [val] declared in .Test1.' type=kotlin.Int origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.Base]' + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Base flags:[] - PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:y type:kotlin.Int visibility:public flags:[final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Base + PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:y type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Base flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> (xx:kotlin.Int, yy:kotlin.Int) returnType:.Test2 flags:[] - VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:yy index:1 type:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> (xx:kotlin.Int, yy:kotlin.Int) returnType:.Test2 + VALUE_PARAMETER name:xx index:0 type:kotlin.Int + VALUE_PARAMETER name:yy index:1 type:kotlin.Int BLOCK_BODY BLOCK type=kotlin.Unit origin=ARGUMENTS_REORDERING_FOR_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_y type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:yy index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Base flags:[primary]' - x: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - y: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_y type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[.Base]' - CONSTRUCTOR visibility:public <> (xxx:kotlin.Int, yyy:kotlin.Int, a:kotlin.Any) returnType:.Test2 flags:[] - VALUE_PARAMETER name:xxx index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:yyy index:1 type:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:2 type:kotlin.Any flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp0_y type:kotlin.Int [val] + GET_VAR 'yy: kotlin.Int declared in .Test2.' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int [val] + GET_VAR 'xx: kotlin.Int declared in .Test2.' type=kotlin.Int origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int, y: kotlin.Int) [primary] declared in .Base' + x: GET_VAR 'val tmp1_x: kotlin.Int [val] declared in .Test2.' type=kotlin.Int origin=null + y: GET_VAR 'val tmp0_y: kotlin.Int [val] declared in .Test2.' type=kotlin.Int origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[.Base]' + CONSTRUCTOR visibility:public <> (xxx:kotlin.Int, yyy:kotlin.Int, a:kotlin.Any) returnType:.Test2 + VALUE_PARAMETER name:xxx index:0 type:kotlin.Int + VALUE_PARAMETER name:yyy index:1 type:kotlin.Int + VALUE_PARAMETER name:a index:2 type:kotlin.Any BLOCK_BODY BLOCK type=kotlin.Unit origin=ARGUMENTS_REORDERING_FOR_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_yy type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:yyy index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_xx type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:xxx index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (xx:kotlin.Int, yy:kotlin.Int) returnType:.Test2 flags:[]' - xx: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_xx type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - yy: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_yy type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[final] + VAR IR_TEMPORARY_VARIABLE name:tmp0_yy type:kotlin.Int [val] + GET_VAR 'yyy: kotlin.Int declared in .Test2.' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_xx type:kotlin.Int [val] + GET_VAR 'xxx: kotlin.Int declared in .Test2.' type=kotlin.Int origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor (xx: kotlin.Int, yy: kotlin.Int) declared in .Test2' + xx: GET_VAR 'val tmp1_xx: kotlin.Int [val] declared in .Test2.' type=kotlin.Int origin=null + yy: GET_VAR 'val tmp0_yy: kotlin.Int [val] declared in .Test2.' type=kotlin.Int origin=null + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Base flags:[] - PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:y type:kotlin.Int visibility:public flags:[final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Base + PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:y type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Base flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/classMembers.txt b/compiler/testData/ir/irText/classes/classMembers.txt index 5b889371ffe..55a3cd8df56 100644 --- a/compiler/testData/ir/irText/classes/classMembers.txt +++ b/compiler/testData/ir/irText/classes/classMembers.txt @@ -1,178 +1,178 @@ FILE fqName: fileName:/classMembers.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int, z:kotlin.Int) returnType:.C flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] - VALUE_PARAMETER name:z index:2 type:kotlin.Int flags:[] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int, z:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int + VALUE_PARAMETER name:z index:2 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'y: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - PROPERTY name:z visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:z visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:z index:2 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'z: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:z visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:z visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - CONSTRUCTOR visibility:public <> () returnType:.C flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.C BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int, z:kotlin.Int) returnType:.C flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int, y: kotlin.Int, z: kotlin.Int) [primary] declared in .C' x: CONST Int type=kotlin.Int value=0 y: CONST Int type=kotlin.Int value=0 z: CONST Int type=kotlin.Int value=0 - PROPERTY name:property visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:property type:kotlin.Int visibility:public flags:[final] + PROPERTY name:property visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:property type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:property visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:property visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:property type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - PROPERTY name:propertyWithGet visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:propertyWithGet visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:property type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:propertyWithGet visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:propertyWithGet visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=42 - PROPERTY name:propertyWithGetAndSet visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:propertyWithGetAndSet visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + PROPERTY name:propertyWithGetAndSet visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:propertyWithGetAndSet visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN name: visibility:public modality:FINAL <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:propertyWithGetAndSet visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN name: visibility:public modality:FINAL <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:propertyWithGetAndSet visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - : GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:function visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .C declared in .C.' type=.C origin=null + : GET_VAR 'value: kotlin.Int declared in .C.' type=kotlin.Int origin=null + FUN name:function visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="1" - FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:kotlin.Int BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="2" - CLASS CLASS name:NestedClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.NestedClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C.NestedClass flags:[primary] + CLASS CLASS name:NestedClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.NestedClass + CONSTRUCTOR visibility:public <> () returnType:.C.NestedClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:NestedClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:function visibility:public modality:FINAL <> ($this:.C.NestedClass) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C.NestedClass flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:NestedClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:function visibility:public modality:FINAL <> ($this:.C.NestedClass) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C.NestedClass BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="3" - FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:.C.NestedClass, $receiver:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C.NestedClass flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:.C.NestedClass, $receiver:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C.NestedClass + $receiver: VALUE_PARAMETER name: type:kotlin.Int BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="4" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:NestedInterface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.NestedInterface flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.C.NestedInterface) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C.NestedInterface flags:[] - FUN name:bar visibility:public modality:OPEN <> ($this:.C.NestedInterface) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C.NestedInterface flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:NestedInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.NestedInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.C.NestedInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C.NestedInterface + FUN name:bar visibility:public modality:OPEN <> ($this:.C.NestedInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C.NestedInterface BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:OPEN <> ($this:.C.NestedInterface) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:foo visibility:public modality:ABSTRACT <> ($this:.C.NestedInterface) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.C.NestedInterface flags:[]' type=.C.NestedInterface origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Unit declared in .C.NestedInterface' + CALL 'public abstract fun foo (): kotlin.Unit declared in .C.NestedInterface' type=kotlin.Unit origin=null + $this: GET_VAR ': .C.NestedInterface declared in .C.NestedInterface.bar' type=.C.NestedInterface origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.Companion flags:[] - CONSTRUCTOR visibility:private <> () returnType:.C.Companion flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.Companion + CONSTRUCTOR visibility:private <> () returnType:.C.Companion [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/classes.txt b/compiler/testData/ir/irText/classes/classes.txt index d8b81bfa2f3..831ec67e99a 100644 --- a/compiler/testData/ir/irText/classes/classes.txt +++ b/compiler/testData/ir/irText/classes/classes.txt @@ -1,124 +1,124 @@ FILE fqName: fileName:/classes.kt - CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary] + CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass + CONSTRUCTOR visibility:public <> () returnType:.TestClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:TestObject modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestObject flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestObject flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:TestObject modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestObject + CONSTRUCTOR visibility:private <> () returnType:.TestObject [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:TestObject modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:TestObject modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnotationClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestAnnotationClass flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnotationClass + CONSTRUCTOR visibility:public <> () returnType:.TestAnnotationClass [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnumClass>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnumClass flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnumClass flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnumClass>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnumClass + CONSTRUCTOR visibility:private <> () returnType:.TestEnumClass [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnumClass - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnumClass>]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Any flags:[] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnumClass>]' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:java.lang.Class<.TestEnumClass?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:java.lang.Class<.TestEnumClass?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>, other:.TestEnumClass) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>, other:.TestEnumClass) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnumClass flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + VALUE_PARAMETER name:other index:0 type:.TestEnumClass + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnumClass>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnumClass> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnumClass> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnumClass> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnumClass flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnumClass + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/companionObject.txt b/compiler/testData/ir/irText/classes/companionObject.txt index d3f5f5b8642..67a425065c5 100644 --- a/compiler/testData/ir/irText/classes/companionObject.txt +++ b/compiler/testData/ir/irText/classes/companionObject.txt @@ -1,77 +1,77 @@ FILE fqName: fileName:/companionObject.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> () returnType:.Test1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Companion flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Test1.Companion flags:[primary] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Companion + CONSTRUCTOR visibility:private <> () returnType:.Test1.Companion [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test2 flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> () returnType:.Test2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS OBJECT name:Named modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Named flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Test2.Named flags:[primary] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS OBJECT name:Named modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Named + CONSTRUCTOR visibility:private <> () returnType:.Test2.Named [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Named modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Named modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt index 55f806c5138..62db94ff933 100644 --- a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt +++ b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt @@ -1,670 +1,670 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> (stringArray:kotlin.Array, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:.Test1 flags:[primary] - VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array flags:[] - VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray flags:[] - VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray flags:[] - VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray flags:[] - VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray flags:[] - VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray flags:[] - VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray flags:[] - VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray flags:[] - VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray flags:[] + CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> (stringArray:kotlin.Array, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:.Test1 [primary] + VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array + VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray + VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray + VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray + VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray + VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray + VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray + VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray + VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:stringArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:stringArray type:kotlin.Array visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:stringArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:stringArray type:kotlin.Array visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array flags:[]' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:stringArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'stringArray: kotlin.Array declared in .Test1.' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array + correspondingProperty: PROPERTY name:stringArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:stringArray type:kotlin.Array visibility:public flags:[final]' type=kotlin.Array origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:charArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:charArray type:kotlin.CharArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:stringArray type:kotlin.Array visibility:public [final] ' type=kotlin.Array origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:charArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:charArray type:kotlin.CharArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[] - correspondingProperty: PROPERTY name:charArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'charArray: kotlin.CharArray declared in .Test1.' type=kotlin.CharArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray + correspondingProperty: PROPERTY name:charArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:charArray type:kotlin.CharArray visibility:public flags:[final]' type=kotlin.CharArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:booleanArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:booleanArray type:kotlin.BooleanArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.CharArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:charArray type:kotlin.CharArray visibility:public [final] ' type=kotlin.CharArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:booleanArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:booleanArray type:kotlin.BooleanArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[] - correspondingProperty: PROPERTY name:booleanArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'booleanArray: kotlin.BooleanArray declared in .Test1.' type=kotlin.BooleanArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray + correspondingProperty: PROPERTY name:booleanArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:booleanArray type:kotlin.BooleanArray visibility:public flags:[final]' type=kotlin.BooleanArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:byteArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:byteArray type:kotlin.ByteArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.BooleanArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:booleanArray type:kotlin.BooleanArray visibility:public [final] ' type=kotlin.BooleanArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:byteArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:byteArray type:kotlin.ByteArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[] - correspondingProperty: PROPERTY name:byteArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'byteArray: kotlin.ByteArray declared in .Test1.' type=kotlin.ByteArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray + correspondingProperty: PROPERTY name:byteArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:byteArray type:kotlin.ByteArray visibility:public flags:[final]' type=kotlin.ByteArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:shortArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:shortArray type:kotlin.ShortArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.ByteArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:byteArray type:kotlin.ByteArray visibility:public [final] ' type=kotlin.ByteArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:shortArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:shortArray type:kotlin.ShortArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[] - correspondingProperty: PROPERTY name:shortArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'shortArray: kotlin.ShortArray declared in .Test1.' type=kotlin.ShortArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray + correspondingProperty: PROPERTY name:shortArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:shortArray type:kotlin.ShortArray visibility:public flags:[final]' type=kotlin.ShortArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:intArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:intArray type:kotlin.IntArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.ShortArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:shortArray type:kotlin.ShortArray visibility:public [final] ' type=kotlin.ShortArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:intArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:intArray type:kotlin.IntArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[] - correspondingProperty: PROPERTY name:intArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'intArray: kotlin.IntArray declared in .Test1.' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:intArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:intArray type:kotlin.IntArray visibility:public flags:[final]' type=kotlin.IntArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:longArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:longArray type:kotlin.LongArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.IntArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:intArray type:kotlin.IntArray visibility:public [final] ' type=kotlin.IntArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:longArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:longArray type:kotlin.LongArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[] - correspondingProperty: PROPERTY name:longArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'longArray: kotlin.LongArray declared in .Test1.' type=kotlin.LongArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray + correspondingProperty: PROPERTY name:longArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:longArray type:kotlin.LongArray visibility:public flags:[final]' type=kotlin.LongArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:floatArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:floatArray type:kotlin.FloatArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.LongArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:longArray type:kotlin.LongArray visibility:public [final] ' type=kotlin.LongArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:floatArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:floatArray type:kotlin.FloatArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[] - correspondingProperty: PROPERTY name:floatArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'floatArray: kotlin.FloatArray declared in .Test1.' type=kotlin.FloatArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray + correspondingProperty: PROPERTY name:floatArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:floatArray type:kotlin.FloatArray visibility:public flags:[final]' type=kotlin.FloatArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:doubleArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:doubleArray type:kotlin.DoubleArray visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.FloatArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:floatArray type:kotlin.FloatArray visibility:public [final] ' type=kotlin.FloatArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:doubleArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:doubleArray type:kotlin.DoubleArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[] - correspondingProperty: PROPERTY name:doubleArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'doubleArray: kotlin.DoubleArray declared in .Test1.' type=kotlin.DoubleArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray + correspondingProperty: PROPERTY name:doubleArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:doubleArray type:kotlin.DoubleArray visibility:public flags:[final]' type=kotlin.DoubleArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.DoubleArray declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:doubleArray type:kotlin.DoubleArray visibility:public [final] ' type=kotlin.DoubleArray origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Array declared in .Test1' + CALL 'public final fun (): kotlin.Array declared in .Test1' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component1' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.CharArray declared in .Test1' + CALL 'public final fun (): kotlin.CharArray declared in .Test1' type=kotlin.CharArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component2' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component3 (): kotlin.BooleanArray declared in .Test1' + CALL 'public final fun (): kotlin.BooleanArray declared in .Test1' type=kotlin.BooleanArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component3' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component5 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component4 (): kotlin.ByteArray declared in .Test1' + CALL 'public final fun (): kotlin.ByteArray declared in .Test1' type=kotlin.ByteArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component4' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component5 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component5 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component6 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component5 (): kotlin.ShortArray declared in .Test1' + CALL 'public final fun (): kotlin.ShortArray declared in .Test1' type=kotlin.ShortArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component5' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component6 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component6 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component7 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component6 (): kotlin.IntArray declared in .Test1' + CALL 'public final fun (): kotlin.IntArray declared in .Test1' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component6' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component7 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component7 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component8 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component7 (): kotlin.LongArray declared in .Test1' + CALL 'public final fun (): kotlin.LongArray declared in .Test1' type=kotlin.LongArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component7' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component8 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component8 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component9 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component8 (): kotlin.FloatArray declared in .Test1' + CALL 'public final fun (): kotlin.FloatArray declared in .Test1' type=kotlin.FloatArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component8' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component9 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component9 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1, stringArray:kotlin.Array, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:.Test1 flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] - VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array flags:[] + RETURN type=kotlin.Nothing from='public final fun component9 (): kotlin.DoubleArray declared in .Test1' + CALL 'public final fun (): kotlin.DoubleArray declared in .Test1' type=kotlin.DoubleArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component9' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1, stringArray:kotlin.Array, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:.Test1 + $this: VALUE_PARAMETER name: type:.Test1 + VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray flags:[] + CALL 'public final fun (): kotlin.Array declared in .Test1' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray flags:[] + CALL 'public final fun (): kotlin.CharArray declared in .Test1' type=kotlin.CharArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray flags:[] + CALL 'public final fun (): kotlin.BooleanArray declared in .Test1' type=kotlin.BooleanArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray flags:[] + CALL 'public final fun (): kotlin.ByteArray declared in .Test1' type=kotlin.ByteArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray flags:[] + CALL 'public final fun (): kotlin.ShortArray declared in .Test1' type=kotlin.ShortArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray flags:[] + CALL 'public final fun (): kotlin.IntArray declared in .Test1' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray flags:[] + CALL 'public final fun (): kotlin.LongArray declared in .Test1' type=kotlin.LongArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray flags:[] + CALL 'public final fun (): kotlin.FloatArray declared in .Test1' type=kotlin.FloatArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun (): kotlin.DoubleArray declared in .Test1' type=kotlin.DoubleArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1, stringArray:kotlin.Array, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:.Test1 flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (stringArray:kotlin.Array, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:.Test1 flags:[primary]' type=.Test1 origin=null - stringArray: GET_VAR 'VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array flags:[]' type=kotlin.Array origin=null - charArray: GET_VAR 'VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=null - booleanArray: GET_VAR 'VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=null - byteArray: GET_VAR 'VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=null - shortArray: GET_VAR 'VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=null - intArray: GET_VAR 'VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null - longArray: GET_VAR 'VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=null - floatArray: GET_VAR 'VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=null - doubleArray: GET_VAR 'VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (stringArray: kotlin.Array, charArray: kotlin.CharArray, booleanArray: kotlin.BooleanArray, byteArray: kotlin.ByteArray, shortArray: kotlin.ShortArray, intArray: kotlin.IntArray, longArray: kotlin.LongArray, floatArray: kotlin.FloatArray, doubleArray: kotlin.DoubleArray): .Test1 declared in .Test1' + CALL 'public constructor (stringArray: kotlin.Array, charArray: kotlin.CharArray, booleanArray: kotlin.BooleanArray, byteArray: kotlin.ByteArray, shortArray: kotlin.ShortArray, intArray: kotlin.IntArray, longArray: kotlin.LongArray, floatArray: kotlin.FloatArray, doubleArray: kotlin.DoubleArray) [primary] declared in .Test1' type=.Test1 origin=null + stringArray: GET_VAR 'stringArray: kotlin.Array declared in .Test1.copy' type=kotlin.Array origin=null + charArray: GET_VAR 'charArray: kotlin.CharArray declared in .Test1.copy' type=kotlin.CharArray origin=null + booleanArray: GET_VAR 'booleanArray: kotlin.BooleanArray declared in .Test1.copy' type=kotlin.BooleanArray origin=null + byteArray: GET_VAR 'byteArray: kotlin.ByteArray declared in .Test1.copy' type=kotlin.ByteArray origin=null + shortArray: GET_VAR 'shortArray: kotlin.ShortArray declared in .Test1.copy' type=kotlin.ShortArray origin=null + intArray: GET_VAR 'intArray: kotlin.IntArray declared in .Test1.copy' type=kotlin.IntArray origin=null + longArray: GET_VAR 'longArray: kotlin.LongArray declared in .Test1.copy' type=kotlin.LongArray origin=null + floatArray: GET_VAR 'floatArray: kotlin.FloatArray declared in .Test1.copy' type=kotlin.FloatArray origin=null + doubleArray: GET_VAR 'doubleArray: kotlin.DoubleArray declared in .Test1.copy' type=kotlin.DoubleArray origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test1' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test1(" CONST String type=kotlin.String value="stringArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.Array declared in .Test1' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="charArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.CharArray declared in .Test1' type=kotlin.CharArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="booleanArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.BooleanArray declared in .Test1' type=kotlin.BooleanArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="byteArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.ByteArray declared in .Test1' type=kotlin.ByteArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="shortArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.ShortArray declared in .Test1' type=kotlin.ShortArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="intArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.IntArray declared in .Test1' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="longArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.LongArray declared in .Test1' type=kotlin.LongArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="floatArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.FloatArray declared in .Test1' type=kotlin.FloatArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="doubleArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.DoubleArray declared in .Test1' type=kotlin.DoubleArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.Array declared in .Test1' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.CharArray declared in .Test1' type=kotlin.CharArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.BooleanArray declared in .Test1' type=kotlin.BooleanArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.ByteArray declared in .Test1' type=kotlin.ByteArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.ShortArray declared in .Test1' type=kotlin.ShortArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.IntArray declared in .Test1' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.LongArray declared in .Test1' type=kotlin.LongArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.FloatArray declared in .Test1' type=kotlin.FloatArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + other: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.DoubleArray declared in .Test1' type=kotlin.DoubleArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test1' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test1 + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test1 - typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 [val] TYPE_OP type=.Test1 origin=CAST typeOperand=.Test1 - typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Array declared in .Test1' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.Array declared in .Test1' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.CharArray flags:[]' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.CharArray declared in .Test1' type=kotlin.CharArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.CharArray declared in .Test1' type=kotlin.CharArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.BooleanArray flags:[]' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.BooleanArray declared in .Test1' type=kotlin.BooleanArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.BooleanArray declared in .Test1' type=kotlin.BooleanArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ByteArray flags:[]' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.ByteArray declared in .Test1' type=kotlin.ByteArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.ByteArray declared in .Test1' type=kotlin.ByteArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.ShortArray flags:[]' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.ShortArray declared in .Test1' type=kotlin.ShortArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.ShortArray declared in .Test1' type=kotlin.ShortArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.IntArray declared in .Test1' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.IntArray declared in .Test1' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.LongArray flags:[]' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.LongArray declared in .Test1' type=kotlin.LongArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.LongArray declared in .Test1' type=kotlin.LongArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.FloatArray flags:[]' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.FloatArray declared in .Test1' type=kotlin.FloatArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.FloatArray declared in .Test1' type=kotlin.FloatArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.DoubleArray flags:[]' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.DoubleArray declared in .Test1' type=kotlin.DoubleArray origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.DoubleArray declared in .Test1' type=kotlin.DoubleArray origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2<.Test2.T> flags:[] + CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Test2> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array<.Test2.T>) returnType:.Test2<.Test2.T> flags:[primary] - VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array<.Test2.T> flags:[] + CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array.Test2>) returnType:.Test2.Test2> [primary] + VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array.Test2> BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:genericArray visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:genericArray type:kotlin.Array<.Test2.T> visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:genericArray visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:genericArray type:kotlin.Array.Test2> visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[] - correspondingProperty: PROPERTY name:genericArray visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + GET_VAR 'genericArray: kotlin.Array.Test2> declared in .Test2.' type=kotlin.Array.Test2> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.Test2>) returnType:kotlin.Array.Test2> + correspondingProperty: PROPERTY name:genericArray visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericArray type:kotlin.Array<.Test2.T> visibility:public flags:[final]' type=kotlin.Array<.Test2.T> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array.Test2> declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericArray type:kotlin.Array.Test2> visibility:public [final] ' type=kotlin.Array.Test2> origin=null + receiver: GET_VAR ': .Test2.Test2> declared in .Test2.' type=.Test2.Test2> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2.Test2>) returnType:kotlin.Array.Test2> + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>, genericArray:kotlin.Array<.Test2.T>) returnType:.Test2<.Test2.T> flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] - VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array<.Test2.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Array.Test2> declared in .Test2' + CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.component1' type=.Test2.Test2> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2.Test2>, genericArray:kotlin.Array.Test2>) returnType:.Test2.Test2> + $this: VALUE_PARAMETER name: type:.Test2.Test2> + VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array.Test2> EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null + CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.copy' type=.Test2.Test2> origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>, genericArray:kotlin.Array<.Test2.T>) returnType:.Test2<.Test2.T> flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array<.Test2.T>) returnType:.Test2<.Test2.T> flags:[primary]' type=.Test2<.Test2.T> origin=null - : .Test2.T - genericArray: GET_VAR 'VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (genericArray: kotlin.Array.Test2>): .Test2.Test2> declared in .Test2' + CALL 'public constructor (genericArray: kotlin.Array.Test2>) [primary] declared in .Test2' type=.Test2.Test2> origin=null + : T of .Test2 + genericArray: GET_VAR 'genericArray: kotlin.Array.Test2> declared in .Test2.copy' type=kotlin.Array.Test2> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2.Test2>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test2' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test2(" CONST String type=kotlin.String value="genericArray=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.toString' type=.Test2.Test2> origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2.Test2>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test2.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.hashCode' type=.Test2.Test2> origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test2' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test2.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test2.Test2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test2.Test2> declared in .Test2.equals' type=.Test2.Test2> origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test2<.Test2.T> - typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test2.Test2> + typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2<.Test2.T> flags:[val] - TYPE_OP type=.Test2<.Test2.T> origin=CAST typeOperand=.Test2<.Test2.T> - typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2.Test2> [val] + TYPE_OP type=.Test2.Test2> origin=CAST typeOperand=.Test2.Test2> + typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:kotlin.Array<.Test2.T> flags:[]' type=kotlin.Array<.Test2.T> origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2<.Test2.T> flags:[val]' type=.Test2<.Test2.T> origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.equals' type=.Test2.Test2> origin=null + arg1: CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test2.Test2> [val] declared in .Test2.equals' type=.Test2.Test2> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] - CONSTRUCTOR visibility:public <> (anyArrayN:kotlin.Array?) returnType:.Test3 flags:[primary] - VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array? flags:[] + CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 + CONSTRUCTOR visibility:public <> (anyArrayN:kotlin.Array?) returnType:.Test3 [primary] + VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array? BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:anyArrayN visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:anyArrayN type:kotlin.Array? visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:anyArrayN visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:anyArrayN type:kotlin.Array? visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array? flags:[]' type=kotlin.Array? origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[] - correspondingProperty: PROPERTY name:anyArrayN visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'anyArrayN: kotlin.Array? declared in .Test3.' type=kotlin.Array? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? + correspondingProperty: PROPERTY name:anyArrayN visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anyArrayN type:kotlin.Array? visibility:public flags:[final]' type=kotlin.Array? origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array? declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anyArrayN type:kotlin.Array? visibility:public [final] ' type=kotlin.Array? origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3, anyArrayN:kotlin.Array?) returnType:.Test3 flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] - VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array? flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Array? declared in .Test3' + CALL 'public final fun (): kotlin.Array? declared in .Test3' type=kotlin.Array? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.component1' type=.Test3 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3, anyArrayN:kotlin.Array?) returnType:.Test3 + $this: VALUE_PARAMETER name: type:.Test3 + VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array? EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + CALL 'public final fun (): kotlin.Array? declared in .Test3' type=kotlin.Array? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.copy' type=.Test3 origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3, anyArrayN:kotlin.Array?) returnType:.Test3 flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (anyArrayN:kotlin.Array?) returnType:.Test3 flags:[primary]' type=.Test3 origin=null - anyArrayN: GET_VAR 'VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array? flags:[]' type=kotlin.Array? origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (anyArrayN: kotlin.Array?): .Test3 declared in .Test3' + CALL 'public constructor (anyArrayN: kotlin.Array?) [primary] declared in .Test3' type=.Test3 origin=null + anyArrayN: GET_VAR 'anyArrayN: kotlin.Array? declared in .Test3.copy' type=kotlin.Array? origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test3' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test3(" CONST String type=kotlin.String value="anyArrayN=" - CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberToString visibility:public modality:FINAL <> (arg0:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + CALL 'public final fun dataClassArrayMemberToString (arg0: kotlin.Any?): kotlin.String declared in kotlin.internal.ir' type=kotlin.String origin=null + arg0: CALL 'public final fun (): kotlin.Array? declared in .Test3' type=kotlin.Array? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.toString' type=.Test3 origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Array? flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Array? [val] + CALL 'public final fun (): kotlin.Array? declared in .Test3' type=kotlin.Array? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.hashCode' type=.Test3 origin=null WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Array? flags:[val]' type=kotlin.Array? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1: kotlin.Array? [val] declared in .Test3.hashCode' type=kotlin.Array? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_BUILTINS_STUB name:dataClassArrayMemberHashCode visibility:public modality:FINAL <> (arg0:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Array? flags:[val]' type=kotlin.Array? origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + then: CALL 'public final fun dataClassArrayMemberHashCode (arg0: kotlin.Any): kotlin.Int declared in kotlin.internal.ir' type=kotlin.Int origin=null + arg0: GET_VAR 'val tmp1: kotlin.Array? [val] declared in .Test3.hashCode' type=kotlin.Array? origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test3' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test3 + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test3 declared in .Test3.equals' type=.Test3 origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test3 - typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 [val] TYPE_OP type=.Test3 origin=CAST typeOperand=.Test3 - typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Array? flags:[]' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[val]' type=.Test3 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Array? declared in .Test3' type=kotlin.Array? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.equals' type=.Test3 origin=null + arg1: CALL 'public final fun (): kotlin.Array? declared in .Test3' type=kotlin.Array? origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test3 [val] declared in .Test3.equals' type=.Test3 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/classes/dataClasses.txt b/compiler/testData/ir/irText/classes/dataClasses.txt index f2d56a0e2e4..8beae7ea7cf 100644 --- a/compiler/testData/ir/irText/classes/dataClasses.txt +++ b/compiler/testData/ir/irText/classes/dataClasses.txt @@ -1,544 +1,544 @@ FILE fqName: fileName:/dataClasses.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.Test1 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] - VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[] + CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.Test1 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.String + VALUE_PARAMETER name:z index:2 type:kotlin.Any BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'y: kotlin.String declared in .Test1.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:z visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:z visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[]' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'z: kotlin.Any declared in .Test1.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any + correspondingProperty: PROPERTY name:z visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public flags:[final]' type=kotlin.Any origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public [final] ' type=kotlin.Any origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .Test1' + CALL 'public final fun (): kotlin.Int declared in .Test1' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component1' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.String declared in .Test1' + CALL 'public final fun (): kotlin.String declared in .Test1' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component2' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1, x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.Test1 flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun component3 (): kotlin.Any declared in .Test1' + CALL 'public final fun (): kotlin.Any declared in .Test1' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.component3' type=.Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1, x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.Test1 + $this: VALUE_PARAMETER name: type:.Test1 + VALUE_PARAMETER name:x index:0 type:kotlin.Int EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] + CALL 'public final fun (): kotlin.Int declared in .Test1' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:y index:1 type:kotlin.String EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[] + CALL 'public final fun (): kotlin.String declared in .Test1' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null + VALUE_PARAMETER name:z index:2 type:kotlin.Any EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun (): kotlin.Any declared in .Test1' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.copy' type=.Test1 origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1, x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.Test1 flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.Test1 flags:[primary]' type=.Test1 origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null - z: GET_VAR 'VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: kotlin.Int, y: kotlin.String, z: kotlin.Any): .Test1 declared in .Test1' + CALL 'public constructor (x: kotlin.Int, y: kotlin.String, z: kotlin.Any) [primary] declared in .Test1' type=.Test1 origin=null + x: GET_VAR 'x: kotlin.Int declared in .Test1.copy' type=kotlin.Int origin=null + y: GET_VAR 'y: kotlin.String declared in .Test1.copy' type=kotlin.String origin=null + z: GET_VAR 'z: kotlin.Any declared in .Test1.copy' type=kotlin.Any origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test1' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test1(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun (): kotlin.Int declared in .Test1' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="y=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun (): kotlin.String declared in .Test1' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="z=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + CALL 'public final fun (): kotlin.Any declared in .Test1' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.toString' type=.Test1 origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Int declared in .Test1' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.String declared in .Test1' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + other: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Any declared in .Test1' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.hashCode' type=.Test1 origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test1' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test1 + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test1 - typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 [val] TYPE_OP type=.Test1 origin=CAST typeOperand=.Test1 - typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Int declared in .Test1' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in .Test1' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.String declared in .Test1' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.String declared in .Test1' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[val]' type=.Test1 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Any declared in .Test1' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .Test1 declared in .Test1.equals' type=.Test1 origin=null + arg1: CALL 'public final fun (): kotlin.Any declared in .Test1' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1 [val] declared in .Test1.equals' type=.Test1 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Any?) returnType:.Test2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> (x:kotlin.Any?) returnType:.Test2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Any? BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any? visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any? visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + GET_VAR 'x: kotlin.Any? declared in .Test2.' type=kotlin.Any? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any? visibility:public flags:[final]' type=kotlin.Any? origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any? declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any? visibility:public [final] ' type=kotlin.Any? origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2, x:kotlin.Any?) returnType:.Test2 flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Any? declared in .Test2' + CALL 'public final fun (): kotlin.Any? declared in .Test2' type=kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR ': .Test2 declared in .Test2.component1' type=.Test2 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2, x:kotlin.Any?) returnType:.Test2 + $this: VALUE_PARAMETER name: type:.Test2 + VALUE_PARAMETER name:x index:0 type:kotlin.Any? EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null + CALL 'public final fun (): kotlin.Any? declared in .Test2' type=kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR ': .Test2 declared in .Test2.copy' type=.Test2 origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2, x:kotlin.Any?) returnType:.Test2 flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Any?) returnType:.Test2 flags:[primary]' type=.Test2 origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: kotlin.Any?): .Test2 declared in .Test2' + CALL 'public constructor (x: kotlin.Any?) [primary] declared in .Test2' type=.Test2 origin=null + x: GET_VAR 'x: kotlin.Any? declared in .Test2.copy' type=kotlin.Any? origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test2' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test2(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null + CALL 'public final fun (): kotlin.Any? declared in .Test2' type=kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR ': .Test2 declared in .Test2.toString' type=.Test2 origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test2.hashCode' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Any? flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Any? [val] + CALL 'public final fun (): kotlin.Any? declared in .Test2' type=kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR ': .Test2 declared in .Test2.hashCode' type=.Test2 origin=null WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1: kotlin.Any? [val] declared in .Test2.hashCode' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp1: kotlin.Any? [val] declared in .Test2.hashCode' type=kotlin.Any? origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test2' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test2.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test2 + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test2 declared in .Test2.equals' type=.Test2 origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test2 - typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2 [val] TYPE_OP type=.Test2 origin=CAST typeOperand=.Test2 - typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2 flags:[val]' type=.Test2 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Any? declared in .Test2' type=kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR ': .Test2 declared in .Test2.equals' type=.Test2 origin=null + arg1: CALL 'public final fun (): kotlin.Any? declared in .Test2' type=kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test2 [val] declared in .Test2.equals' type=.Test2 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] - CONSTRUCTOR visibility:public <> (d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:.Test3 flags:[primary] - VALUE_PARAMETER name:d index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:dn index:1 type:kotlin.Double? flags:[] - VALUE_PARAMETER name:f index:2 type:kotlin.Float flags:[] - VALUE_PARAMETER name:df index:3 type:kotlin.Float? flags:[] + CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 + CONSTRUCTOR visibility:public <> (d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:.Test3 [primary] + VALUE_PARAMETER name:d index:0 type:kotlin.Double + VALUE_PARAMETER name:dn index:1 type:kotlin.Double? + VALUE_PARAMETER name:f index:2 type:kotlin.Float + VALUE_PARAMETER name:df index:3 type:kotlin.Float? BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:d visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Double visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:d visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Double visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:d index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[] - correspondingProperty: PROPERTY name:d visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'd: kotlin.Double declared in .Test3.' type=kotlin.Double origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double + correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Double visibility:public flags:[final]' type=kotlin.Double origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - PROPERTY name:dn visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:dn type:kotlin.Double? visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Double declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Double visibility:public [final] ' type=kotlin.Double origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + PROPERTY name:dn visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:dn type:kotlin.Double? visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:dn index:1 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[] - correspondingProperty: PROPERTY name:dn visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'dn: kotlin.Double? declared in .Test3.' type=kotlin.Double? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? + correspondingProperty: PROPERTY name:dn visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:dn type:kotlin.Double? visibility:public flags:[final]' type=kotlin.Double? origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - PROPERTY name:f visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Float visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Double? declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:dn type:kotlin.Double? visibility:public [final] ' type=kotlin.Double? origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + PROPERTY name:f visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Float visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:f index:2 type:kotlin.Float flags:[]' type=kotlin.Float origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[] - correspondingProperty: PROPERTY name:f visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'f: kotlin.Float declared in .Test3.' type=kotlin.Float origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float + correspondingProperty: PROPERTY name:f visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Float visibility:public flags:[final]' type=kotlin.Float origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - PROPERTY name:df visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:df type:kotlin.Float? visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Float declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Float visibility:public [final] ' type=kotlin.Float origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + PROPERTY name:df visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:df type:kotlin.Float? visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:df index:3 type:kotlin.Float? flags:[]' type=kotlin.Float? origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[] - correspondingProperty: PROPERTY name:df visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'df: kotlin.Float? declared in .Test3.' type=kotlin.Float? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? + correspondingProperty: PROPERTY name:df visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:df type:kotlin.Float? visibility:public flags:[final]' type=kotlin.Float? origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Float? declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:df type:kotlin.Float? visibility:public [final] ' type=kotlin.Float? origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Double declared in .Test3' + CALL 'public final fun (): kotlin.Double declared in .Test3' type=kotlin.Double origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.component1' type=.Test3 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.Double? declared in .Test3' + CALL 'public final fun (): kotlin.Double? declared in .Test3' type=kotlin.Double? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.component2' type=.Test3 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + RETURN type=kotlin.Nothing from='public final fun component3 (): kotlin.Float declared in .Test3' + CALL 'public final fun (): kotlin.Float declared in .Test3' type=kotlin.Float origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.component3' type=.Test3 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3, d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:.Test3 flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] - VALUE_PARAMETER name:d index:0 type:kotlin.Double flags:[] + RETURN type=kotlin.Nothing from='public final fun component4 (): kotlin.Float? declared in .Test3' + CALL 'public final fun (): kotlin.Float? declared in .Test3' type=kotlin.Float? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.component4' type=.Test3 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3, d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:.Test3 + $this: VALUE_PARAMETER name: type:.Test3 + VALUE_PARAMETER name:d index:0 type:kotlin.Double EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - VALUE_PARAMETER name:dn index:1 type:kotlin.Double? flags:[] + CALL 'public final fun (): kotlin.Double declared in .Test3' type=kotlin.Double origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.copy' type=.Test3 origin=null + VALUE_PARAMETER name:dn index:1 type:kotlin.Double? EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - VALUE_PARAMETER name:f index:2 type:kotlin.Float flags:[] + CALL 'public final fun (): kotlin.Double? declared in .Test3' type=kotlin.Double? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.copy' type=.Test3 origin=null + VALUE_PARAMETER name:f index:2 type:kotlin.Float EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - VALUE_PARAMETER name:df index:3 type:kotlin.Float? flags:[] + CALL 'public final fun (): kotlin.Float declared in .Test3' type=kotlin.Float origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.copy' type=.Test3 origin=null + VALUE_PARAMETER name:df index:3 type:kotlin.Float? EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + CALL 'public final fun (): kotlin.Float? declared in .Test3' type=kotlin.Float? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.copy' type=.Test3 origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3, d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:.Test3 flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:.Test3 flags:[primary]' type=.Test3 origin=null - d: GET_VAR 'VALUE_PARAMETER name:d index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - dn: GET_VAR 'VALUE_PARAMETER name:dn index:1 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null - f: GET_VAR 'VALUE_PARAMETER name:f index:2 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - df: GET_VAR 'VALUE_PARAMETER name:df index:3 type:kotlin.Float? flags:[]' type=kotlin.Float? origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (d: kotlin.Double, dn: kotlin.Double?, f: kotlin.Float, df: kotlin.Float?): .Test3 declared in .Test3' + CALL 'public constructor (d: kotlin.Double, dn: kotlin.Double?, f: kotlin.Float, df: kotlin.Float?) [primary] declared in .Test3' type=.Test3 origin=null + d: GET_VAR 'd: kotlin.Double declared in .Test3.copy' type=kotlin.Double origin=null + dn: GET_VAR 'dn: kotlin.Double? declared in .Test3.copy' type=kotlin.Double? origin=null + f: GET_VAR 'f: kotlin.Float declared in .Test3.copy' type=kotlin.Float origin=null + df: GET_VAR 'df: kotlin.Float? declared in .Test3.copy' type=kotlin.Float? origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test3' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test3(" CONST String type=kotlin.String value="d=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + CALL 'public final fun (): kotlin.Double declared in .Test3' type=kotlin.Double origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.toString' type=.Test3 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="dn=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + CALL 'public final fun (): kotlin.Double? declared in .Test3' type=kotlin.Double? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.toString' type=.Test3 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="f=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + CALL 'public final fun (): kotlin.Float declared in .Test3' type=kotlin.Float origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.toString' type=.Test3 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="df=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + CALL 'public final fun (): kotlin.Float? declared in .Test3' type=kotlin.Float? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.toString' type=.Test3 origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Double declared in .Test3' type=kotlin.Double origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.hashCode' type=.Test3 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 other: BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Double? flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Double? [val] + CALL 'public final fun (): kotlin.Double? declared in .Test3' type=kotlin.Double? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.hashCode' type=.Test3 origin=null WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Double? flags:[val]' type=kotlin.Double? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1: kotlin.Double? [val] declared in .Test3.hashCode' type=kotlin.Double? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Double? flags:[val]' type=kotlin.Double? origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp1: kotlin.Double? [val] declared in .Test3.hashCode' type=kotlin.Double? origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + other: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Float declared in .Test3' type=kotlin.Float origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.hashCode' type=.Test3 origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 other: BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Float? flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Float? [val] + CALL 'public final fun (): kotlin.Float? declared in .Test3' type=kotlin.Float? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.hashCode' type=.Test3 origin=null WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Float? flags:[val]' type=kotlin.Float? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp2: kotlin.Float? [val] declared in .Test3.hashCode' type=kotlin.Float? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Float? flags:[val]' type=kotlin.Float? origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp2: kotlin.Float? [val] declared in .Test3.hashCode' type=kotlin.Float? origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test3' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test3 + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test3 declared in .Test3.equals' type=.Test3 origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test3 - typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 [val] TYPE_OP type=.Test3 origin=CAST typeOperand=.Test3 - typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[val]' type=.Test3 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Double declared in .Test3' type=kotlin.Double origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.equals' type=.Test3 origin=null + arg1: CALL 'public final fun (): kotlin.Double declared in .Test3' type=kotlin.Double origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test3 [val] declared in .Test3.equals' type=.Test3 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Double? flags:[]' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[val]' type=.Test3 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Double? declared in .Test3' type=kotlin.Double? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.equals' type=.Test3 origin=null + arg1: CALL 'public final fun (): kotlin.Double? declared in .Test3' type=kotlin.Double? origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test3 [val] declared in .Test3.equals' type=.Test3 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[val]' type=.Test3 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Float declared in .Test3' type=kotlin.Float origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.equals' type=.Test3 origin=null + arg1: CALL 'public final fun (): kotlin.Float declared in .Test3' type=kotlin.Float origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test3 [val] declared in .Test3.equals' type=.Test3 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Float? flags:[]' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[val]' type=.Test3 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Float? declared in .Test3' type=kotlin.Float? origin=GET_PROPERTY + $this: GET_VAR ': .Test3 declared in .Test3.equals' type=.Test3 origin=null + arg1: CALL 'public final fun (): kotlin.Float? declared in .Test3' type=kotlin.Float? origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test3 [val] declared in .Test3.equals' type=.Test3 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/classes/dataClassesGeneric.txt b/compiler/testData/ir/irText/classes/dataClassesGeneric.txt index 3ab0964cf0a..30544182ce3 100644 --- a/compiler/testData/ir/irText/classes/dataClassesGeneric.txt +++ b/compiler/testData/ir/irText/classes/dataClassesGeneric.txt @@ -1,398 +1,398 @@ FILE fqName: fileName:/dataClassesGeneric.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1<.Test1.T> flags:[] + CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:.Test1.T) returnType:.Test1<.Test1.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Test1.T flags:[] + CONSTRUCTOR visibility:public <> (x:T of .Test1) returnType:.Test1.Test1> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Test1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.Test1.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test1 visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test1.T flags:[]' type=.Test1.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] + GET_VAR 'x: T of .Test1 declared in .Test1.' type=T of .Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1.Test1>) returnType:T of .Test1 + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1.Test1> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Test1.T visibility:public flags:[final]' type=.Test1.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[]' type=.Test1<.Test1.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .Test1 declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test1 visibility:public [final] ' type=T of .Test1 origin=null + receiver: GET_VAR ': .Test1.Test1> declared in .Test1.' type=.Test1.Test1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1.Test1>) returnType:T of .Test1 + $this: VALUE_PARAMETER name: type:.Test1.Test1> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' type=.Test1.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[]' type=.Test1<.Test1.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>, x:.Test1.T) returnType:.Test1<.Test1.T> flags:[] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] - VALUE_PARAMETER name:x index:0 type:.Test1.T flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): T of .Test1 declared in .Test1' + CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=GET_PROPERTY + $this: GET_VAR ': .Test1.Test1> declared in .Test1.component1' type=.Test1.Test1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1.Test1>, x:T of .Test1) returnType:.Test1.Test1> + $this: VALUE_PARAMETER name: type:.Test1.Test1> + VALUE_PARAMETER name:x index:0 type:T of .Test1 EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' type=.Test1.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[]' type=.Test1<.Test1.T> origin=null + CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=GET_PROPERTY + $this: GET_VAR ': .Test1.Test1> declared in .Test1.copy' type=.Test1.Test1> origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>, x:.Test1.T) returnType:.Test1<.Test1.T> flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:.Test1.T) returnType:.Test1<.Test1.T> flags:[primary]' type=.Test1<.Test1.T> origin=null - : .Test1.T - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test1.T flags:[]' type=.Test1.T origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: T of .Test1): .Test1.Test1> declared in .Test1' + CALL 'public constructor (x: T of .Test1) [primary] declared in .Test1' type=.Test1.Test1> origin=null + : T of .Test1 + x: GET_VAR 'x: T of .Test1 declared in .Test1.copy' type=T of .Test1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1.Test1>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test1.Test1> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test1' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test1(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' type=.Test1.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[]' type=.Test1<.Test1.T> origin=null + CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=GET_PROPERTY + $this: GET_VAR ': .Test1.Test1> declared in .Test1.toString' type=.Test1.Test1> origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1.Test1>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test1.Test1> BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:.Test1.T flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' type=.Test1.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[]' type=.Test1<.Test1.T> origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:T of .Test1 [val] + CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=GET_PROPERTY + $this: GET_VAR ': .Test1.Test1> declared in .Test1.hashCode' type=.Test1.Test1> origin=null WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:.Test1.T flags:[val]' type=.Test1.T origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1: T of .Test1 [val] declared in .Test1.hashCode' type=T of .Test1 origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:.Test1.T flags:[val]' type=.Test1.T origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp1: T of .Test1 [val] declared in .Test1.hashCode' type=T of .Test1 origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test1' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test1.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1.Test1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test1.Test1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[]' type=.Test1<.Test1.T> origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test1.Test1> declared in .Test1.equals' type=.Test1.Test1> origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test1<.Test1.T> - typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test1.Test1> + typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1<.Test1.T> flags:[val] - TYPE_OP type=.Test1<.Test1.T> origin=CAST typeOperand=.Test1<.Test1.T> - typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1.Test1> [val] + TYPE_OP type=.Test1.Test1> origin=CAST typeOperand=.Test1.Test1> + typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test1.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' type=.Test1.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[]' type=.Test1<.Test1.T> origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T>) returnType:.Test1.T flags:[]' type=.Test1.T origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1<.Test1.T> flags:[val]' type=.Test1<.Test1.T> origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=GET_PROPERTY + $this: GET_VAR ': .Test1.Test1> declared in .Test1.equals' type=.Test1.Test1> origin=null + arg1: CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test1.Test1> [val] declared in .Test1.equals' type=.Test1.Test1> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test1' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2<.Test2.T> flags:[] + CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Test2> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] - CONSTRUCTOR visibility:public <> (x:.Test2.T) returnType:.Test2<.Test2.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Test2.T flags:[] + CONSTRUCTOR visibility:public <> (x:T of .Test2) returnType:.Test2.Test2> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Test2 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.Test2.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test2 visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test2.T flags:[]' type=.Test2.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + GET_VAR 'x: T of .Test2 declared in .Test2.' type=T of .Test2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.Test2>) returnType:T of .Test2 + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Test2.T visibility:public flags:[final]' type=.Test2.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .Test2 declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test2 visibility:public [final] ' type=T of .Test2 origin=null + receiver: GET_VAR ': .Test2.Test2> declared in .Test2.' type=.Test2.Test2> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2.Test2>) returnType:T of .Test2 + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' type=.Test2.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>, x:.Test2.T) returnType:.Test2<.Test2.T> flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] - VALUE_PARAMETER name:x index:0 type:.Test2.T flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): T of .Test2 declared in .Test2' + CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.component1' type=.Test2.Test2> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2.Test2>, x:T of .Test2) returnType:.Test2.Test2> + $this: VALUE_PARAMETER name: type:.Test2.Test2> + VALUE_PARAMETER name:x index:0 type:T of .Test2 EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' type=.Test2.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null + CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.copy' type=.Test2.Test2> origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>, x:.Test2.T) returnType:.Test2<.Test2.T> flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:.Test2.T) returnType:.Test2<.Test2.T> flags:[primary]' type=.Test2<.Test2.T> origin=null - : .Test2.T - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test2.T flags:[]' type=.Test2.T origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: T of .Test2): .Test2.Test2> declared in .Test2' + CALL 'public constructor (x: T of .Test2) [primary] declared in .Test2' type=.Test2.Test2> origin=null + : T of .Test2 + x: GET_VAR 'x: T of .Test2 declared in .Test2.copy' type=T of .Test2 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2.Test2>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test2' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test2(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' type=.Test2.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null + CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.toString' type=.Test2.Test2> origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2.Test2>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2.Test2> BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' type=.Test2.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test2.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.hashCode' type=.Test2.Test2> origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test2' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test2.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test2.Test2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test2.Test2> declared in .Test2.equals' type=.Test2.Test2> origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test2<.Test2.T> - typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test2.Test2> + typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2<.Test2.T> flags:[val] - TYPE_OP type=.Test2<.Test2.T> origin=CAST typeOperand=.Test2<.Test2.T> - typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2.Test2> [val] + TYPE_OP type=.Test2.Test2> origin=CAST typeOperand=.Test2.Test2> + typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test2.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' type=.Test2.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[]' type=.Test2<.Test2.T> origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2<.Test2.T>) returnType:.Test2.T flags:[]' type=.Test2.T origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2<.Test2.T> flags:[val]' type=.Test2<.Test2.T> origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=GET_PROPERTY + $this: GET_VAR ': .Test2.Test2> declared in .Test2.equals' type=.Test2.Test2> origin=null + arg1: CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test2.Test2> [val] declared in .Test2.equals' type=.Test2.Test2> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test2' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3<.Test3.T> flags:[] + CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3.Test3> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:kotlin.collections.List<.Test3.T>) returnType:.Test3<.Test3.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List<.Test3.T> flags:[] + CONSTRUCTOR visibility:public <> (x:kotlin.collections.List.Test3>) returnType:.Test3.Test3> [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.Test3> BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List<.Test3.T> visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List.Test3> visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] + GET_VAR 'x: kotlin.collections.List.Test3> declared in .Test3.' type=kotlin.collections.List.Test3> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3.Test3>) returnType:kotlin.collections.List.Test3> + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3.Test3> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List<.Test3.T> visibility:public flags:[final]' type=kotlin.collections.List<.Test3.T> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[]' type=.Test3<.Test3.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[] - $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List.Test3> declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List.Test3> visibility:public [final] ' type=kotlin.collections.List.Test3> origin=null + receiver: GET_VAR ': .Test3.Test3> declared in .Test3.' type=.Test3.Test3> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3.Test3>) returnType:kotlin.collections.List.Test3> + $this: VALUE_PARAMETER name: type:.Test3.Test3> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[]' type=.Test3<.Test3.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>, x:kotlin.collections.List<.Test3.T>) returnType:.Test3<.Test3.T> flags:[] - $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List<.Test3.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.collections.List.Test3> declared in .Test3' + CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=GET_PROPERTY + $this: GET_VAR ': .Test3.Test3> declared in .Test3.component1' type=.Test3.Test3> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3.Test3>, x:kotlin.collections.List.Test3>) returnType:.Test3.Test3> + $this: VALUE_PARAMETER name: type:.Test3.Test3> + VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.Test3> EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[]' type=.Test3<.Test3.T> origin=null + CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=GET_PROPERTY + $this: GET_VAR ': .Test3.Test3> declared in .Test3.copy' type=.Test3.Test3> origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>, x:kotlin.collections.List<.Test3.T>) returnType:.Test3<.Test3.T> flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.collections.List<.Test3.T>) returnType:.Test3<.Test3.T> flags:[primary]' type=.Test3<.Test3.T> origin=null - : .Test3.T - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: kotlin.collections.List.Test3>): .Test3.Test3> declared in .Test3' + CALL 'public constructor (x: kotlin.collections.List.Test3>) [primary] declared in .Test3' type=.Test3.Test3> origin=null + : T of .Test3 + x: GET_VAR 'x: kotlin.collections.List.Test3> declared in .Test3.copy' type=kotlin.collections.List.Test3> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3.Test3>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test3.Test3> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test3' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test3(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[]' type=.Test3<.Test3.T> origin=null + CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=GET_PROPERTY + $this: GET_VAR ': .Test3.Test3> declared in .Test3.toString' type=.Test3.Test3> origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3.Test3>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test3.Test3> BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[]' type=.Test3<.Test3.T> origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.collections.List' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=GET_PROPERTY + $this: GET_VAR ': .Test3.Test3> declared in .Test3.hashCode' type=.Test3.Test3> origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test3' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test3.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3.Test3>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test3.Test3> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[]' type=.Test3<.Test3.T> origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test3.Test3> declared in .Test3.equals' type=.Test3.Test3> origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test3<.Test3.T> - typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test3.Test3> + typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3<.Test3.T> flags:[val] - TYPE_OP type=.Test3<.Test3.T> origin=CAST typeOperand=.Test3<.Test3.T> - typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3.Test3> [val] + TYPE_OP type=.Test3.Test3> origin=CAST typeOperand=.Test3.Test3> + typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test3.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[]' type=.Test3<.Test3.T> origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3<.Test3.T>) returnType:kotlin.collections.List<.Test3.T> flags:[]' type=kotlin.collections.List<.Test3.T> origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3<.Test3.T> flags:[val]' type=.Test3<.Test3.T> origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=GET_PROPERTY + $this: GET_VAR ': .Test3.Test3> declared in .Test3.equals' type=.Test3.Test3> origin=null + arg1: CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test3.Test3> [val] declared in .Test3.equals' type=.Test3.Test3> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test3' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.collections.List) returnType:.Test4 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List flags:[] + CLASS CLASS name:Test4 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 + CONSTRUCTOR visibility:public <> (x:kotlin.collections.List) returnType:.Test4 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.collections.List BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test4 flags:[] + GET_VAR 'x: kotlin.collections.List declared in .Test4.' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test4 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List visibility:public flags:[final]' type=kotlin.collections.List origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[] - $this: VALUE_PARAMETER name: type:.Test4 flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in .Test4' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List visibility:public [final] ' type=kotlin.collections.List origin=null + receiver: GET_VAR ': .Test4 declared in .Test4.' type=.Test4 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List + $this: VALUE_PARAMETER name: type:.Test4 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test4, x:kotlin.collections.List) returnType:.Test4 flags:[] - $this: VALUE_PARAMETER name: type:.Test4 flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.collections.List declared in .Test4' + CALL 'public final fun (): kotlin.collections.List declared in .Test4' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR ': .Test4 declared in .Test4.component1' type=.Test4 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test4, x:kotlin.collections.List) returnType:.Test4 + $this: VALUE_PARAMETER name: type:.Test4 + VALUE_PARAMETER name:x index:0 type:kotlin.collections.List EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null + CALL 'public final fun (): kotlin.collections.List declared in .Test4' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR ': .Test4 declared in .Test4.copy' type=.Test4 origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test4, x:kotlin.collections.List) returnType:.Test4 flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.collections.List) returnType:.Test4 flags:[primary]' type=.Test4 origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test4) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: kotlin.collections.List): .Test4 declared in .Test4' + CALL 'public constructor (x: kotlin.collections.List) [primary] declared in .Test4' type=.Test4 origin=null + x: GET_VAR 'x: kotlin.collections.List declared in .Test4.copy' type=kotlin.collections.List origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test4) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test4 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test4 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test4) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test4' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test4(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null + CALL 'public final fun (): kotlin.collections.List declared in .Test4' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR ': .Test4 declared in .Test4.toString' type=.Test4 origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test4) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test4) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test4 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test4 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test4) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test4, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test4.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.collections.List' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.collections.List declared in .Test4' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR ': .Test4 declared in .Test4.hashCode' type=.Test4 origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test4' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test4.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test4, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test4 flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test4 + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test4, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test4 declared in .Test4.equals' type=.Test4 origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test4.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test4' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test4 - typeOperand: CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test4, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:Test4 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test4.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test4' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test4 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test4 [val] TYPE_OP type=.Test4 origin=CAST typeOperand=.Test4 - typeOperand: CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:Test4 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test4.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test4 flags:[val]' type=.Test4 origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test4, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.collections.List declared in .Test4' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR ': .Test4 declared in .Test4.equals' type=.Test4 origin=null + arg1: CALL 'public final fun (): kotlin.collections.List declared in .Test4' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test4 [val] declared in .Test4.equals' type=.Test4 origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test4' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test4, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test4' CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/classes/delegatedImplementation.txt b/compiler/testData/ir/irText/classes/delegatedImplementation.txt index d4d4ca92b73..ce6a8deb5c3 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementation.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementation.txt @@ -1,382 +1,382 @@ FILE fqName: fileName:/delegatedImplementation.kt - CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IBase flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:s index:1 type:kotlin.String flags:[] - FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.IBase flags:[] - FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IBase flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IBase + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:s index:1 type:kotlin.String + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.IBase + FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IBase + $receiver: VALUE_PARAMETER name: type:kotlin.String + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:BaseImpl modality:FINAL visibility:public flags:[] superTypes:[.IBase] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseImpl flags:[] - CONSTRUCTOR visibility:private <> () returnType:.BaseImpl flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:BaseImpl modality:FINAL visibility:public superTypes:[.IBase] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseImpl + CONSTRUCTOR visibility:private <> () returnType:.BaseImpl [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:BaseImpl modality:FINAL visibility:public flags:[] superTypes:[.IBase]' - FUN name:foo visibility:public modality:OPEN <> ($this:.BaseImpl, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:BaseImpl modality:FINAL visibility:public superTypes:[.IBase]' + FUN name:foo visibility:public modality:OPEN <> ($this:.BaseImpl, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.BaseImpl flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:s index:1 type:kotlin.String flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.BaseImpl + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:s index:1 type:kotlin.String BLOCK_BODY - FUN name:bar visibility:public modality:OPEN <> ($this:.BaseImpl) returnType:kotlin.Int flags:[] + FUN name:bar visibility:public modality:OPEN <> ($this:.BaseImpl) returnType:kotlin.Int overridden: - FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.BaseImpl flags:[] + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.BaseImpl BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:OPEN <> ($this:.BaseImpl) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .BaseImpl' CONST Int type=kotlin.Int value=42 - FUN name:qux visibility:public modality:OPEN <> ($this:.BaseImpl, $receiver:kotlin.String) returnType:kotlin.Unit flags:[] + FUN name:qux visibility:public modality:OPEN <> ($this:.BaseImpl, $receiver:kotlin.String) returnType:kotlin.Unit overridden: - FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.BaseImpl flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.BaseImpl + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IOther modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IOther flags:[] - PROPERTY name:x visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.IOther flags:[] - PROPERTY name:y visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.IOther flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.IOther flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] - PROPERTY name:z1 visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:z1 visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.IOther flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] - PROPERTY name:z2 visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:z2 visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.IOther flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:z2 visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.IOther flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IOther modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IOther + PROPERTY name:x visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.IOther + PROPERTY name:y visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.IOther + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:y visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.IOther + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY name:z1 visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int + correspondingProperty: PROPERTY name:z1 visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.IOther + $receiver: VALUE_PARAMETER name: type:kotlin.Byte + PROPERTY name:z2 visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int + correspondingProperty: PROPERTY name:z2 visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.IOther + $receiver: VALUE_PARAMETER name: type:kotlin.Byte + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:z2 visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.IOther + $receiver: VALUE_PARAMETER name: type:kotlin.Byte + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:otherImpl visibility:public modality:FINAL <> (x0:kotlin.String, y0:kotlin.Int) returnType:.IOther flags:[] - VALUE_PARAMETER name:x0 index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:y0 index:1 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:otherImpl visibility:public modality:FINAL <> (x0:kotlin.String, y0:kotlin.Int) returnType:.IOther + VALUE_PARAMETER name:x0 index:0 type:kotlin.String + VALUE_PARAMETER name:y0 index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:otherImpl visibility:public modality:FINAL <> (x0:kotlin.String, y0:kotlin.Int) returnType:.IOther flags:[]' + RETURN type=kotlin.Nothing from='public final fun otherImpl (x0: kotlin.String, y0: kotlin.Int): .IOther declared in ' BLOCK type=.otherImpl. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.IOther] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.otherImpl. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.otherImpl. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.IOther] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.otherImpl. + CONSTRUCTOR visibility:public <> () returnType:.otherImpl. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.IOther]' - PROPERTY name:x visibility:public modality:OPEN flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.IOther]' + PROPERTY name:x visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x0 index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl.) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:OPEN flags:[val] + GET_VAR 'x0: kotlin.String declared in .otherImpl' type=kotlin.String origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl.) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.otherImpl. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl.) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.otherImpl. flags:[]' type=.otherImpl. origin=null - PROPERTY name:y visibility:public modality:OPEN flags:[var] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .otherImpl.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .otherImpl. declared in .otherImpl..' type=.otherImpl. origin=null + PROPERTY name:y visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y0 index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl.) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:OPEN flags:[var] + GET_VAR 'y0: kotlin.Int declared in .otherImpl' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl.) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.otherImpl. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl.) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.otherImpl. flags:[]' type=.otherImpl. origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl., :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:OPEN flags:[var] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .otherImpl.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .otherImpl. declared in .otherImpl..' type=.otherImpl. origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.otherImpl., :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:y visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, :kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, :kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.otherImpl. + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.otherImpl. flags:[]' type=.otherImpl. origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:z1 visibility:public modality:OPEN flags:[val] - FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:z1 visibility:public modality:OPEN flags:[val] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .otherImpl. declared in .otherImpl..' type=.otherImpl. origin=null + value: GET_VAR ': kotlin.Int declared in .otherImpl..' type=kotlin.Int origin=null + PROPERTY name:z1 visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int + correspondingProperty: PROPERTY name:z1 visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.otherImpl. + $receiver: VALUE_PARAMETER name: type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .otherImpl.' CONST Int type=kotlin.Int value=1 - PROPERTY name:z2 visibility:public modality:OPEN flags:[var] - FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:z2 visibility:public modality:OPEN flags:[var] + PROPERTY name:z2 visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int + correspondingProperty: PROPERTY name:z2 visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.otherImpl. + $receiver: VALUE_PARAMETER name: type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .otherImpl.' CONST Int type=kotlin.Int value=2 - FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:z2 visibility:public modality:OPEN flags:[var] + FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:z2 visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.otherImpl. + $receiver: VALUE_PARAMETER name: type:kotlin.Byte + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.otherImpl. flags:[primary]' type=.otherImpl. origin=OBJECT_LITERAL - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.IBase] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .otherImpl.' type=.otherImpl. origin=OBJECT_LITERAL + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.IBase] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> () returnType:.Test1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.IBase]' - FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.IBase]' + FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private [final] EXPRESSION_BODY - GET_OBJECT 'CLASS OBJECT name:BaseImpl modality:FINAL visibility:public flags:[] superTypes:[.IBase]' type=.BaseImpl - FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[] + GET_OBJECT 'CLASS OBJECT name:BaseImpl modality:FINAL visibility:public superTypes:[.IBase]' type=.BaseImpl + FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int overridden: - FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[]' - CALL 'FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private flags:[final]' type=.BaseImpl origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.Test1, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .Test1' + CALL 'public abstract fun bar (): kotlin.Int declared in .IBase' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private [final] ' type=.BaseImpl origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.bar' type=.Test1 origin=null + FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.Test1, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:s index:1 type:kotlin.String flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test1 + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:s index:1 type:kotlin.String BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private flags:[final]' type=.BaseImpl origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - s: GET_VAR 'VALUE_PARAMETER name:s index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:.Test1, $receiver:kotlin.String) returnType:kotlin.Unit flags:[] + CALL 'public abstract fun foo (x: kotlin.Int, s: kotlin.String): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private [final] ' type=.BaseImpl origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.foo' type=.Test1 origin=null + x: GET_VAR 'x: kotlin.Int declared in .Test1.foo' type=kotlin.Int origin=null + s: GET_VAR 's: kotlin.String declared in .Test1.foo' type=kotlin.String origin=null + FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:.Test1, $receiver:kotlin.String) returnType:kotlin.Unit overridden: - FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test1 + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - CALL 'FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private flags:[final]' type=.BaseImpl origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public abstract fun qux (): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.BaseImpl visibility:private [final] ' type=.BaseImpl origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.qux' type=.Test1 origin=null + $receiver: GET_VAR ': kotlin.String declared in .Test1.qux' type=kotlin.String origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[.IBase; .IOther] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test2 flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[.IBase; .IOther] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> () returnType:.Test2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[.IBase; .IOther]' - FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[.IBase; .IOther]' + FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private [final] EXPRESSION_BODY - GET_OBJECT 'CLASS OBJECT name:BaseImpl modality:FINAL visibility:public flags:[] superTypes:[.IBase]' type=.BaseImpl - FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int flags:[] + GET_OBJECT 'CLASS OBJECT name:BaseImpl modality:FINAL visibility:public superTypes:[.IBase]' type=.BaseImpl + FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int overridden: - FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int flags:[]' - CALL 'FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBase) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private flags:[final]' type=.BaseImpl origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.Test2, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .Test2' + CALL 'public abstract fun bar (): kotlin.Int declared in .IBase' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private [final] ' type=.BaseImpl origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.bar' type=.Test2 origin=null + FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.Test2, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:s index:1 type:kotlin.String flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test2 + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:s index:1 type:kotlin.String BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private flags:[final]' type=.BaseImpl origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - s: GET_VAR 'VALUE_PARAMETER name:s index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.String) returnType:kotlin.Unit flags:[] + CALL 'public abstract fun foo (x: kotlin.Int, s: kotlin.String): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private [final] ' type=.BaseImpl origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.foo' type=.Test2 origin=null + x: GET_VAR 'x: kotlin.Int declared in .Test2.foo' type=kotlin.Int origin=null + s: GET_VAR 's: kotlin.String declared in .Test2.foo' type=kotlin.String origin=null + FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.String) returnType:kotlin.Unit overridden: - FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test2 + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - CALL 'FUN name:qux visibility:public modality:ABSTRACT <> ($this:.IBase, $receiver:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private flags:[final]' type=.BaseImpl origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private flags:[final] + CALL 'public abstract fun qux (): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.BaseImpl visibility:private [final] ' type=.BaseImpl origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.qux' type=.Test2 origin=null + $receiver: GET_VAR ': kotlin.String declared in .Test2.qux' type=kotlin.String origin=null + FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private [final] EXPRESSION_BODY - CALL 'FUN name:otherImpl visibility:public modality:FINAL <> (x0:kotlin.String, y0:kotlin.Int) returnType:.IOther flags:[]' type=.IOther origin=null + CALL 'public final fun otherImpl (x0: kotlin.String, y0: kotlin.Int): .IOther declared in ' type=.IOther origin=null x0: CONST String type=kotlin.String value="" y0: CONST Int type=kotlin.Int value=42 - PROPERTY DELEGATED_MEMBER name:z1 visibility:public modality:OPEN flags:[val] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY DELEGATED_MEMBER name:z1 visibility:public modality:OPEN flags:[val] + PROPERTY DELEGATED_MEMBER name:z1 visibility:public modality:OPEN [val] + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte) returnType:kotlin.Int + correspondingProperty: PROPERTY DELEGATED_MEMBER name:z1 visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2 + $receiver: VALUE_PARAMETER name: type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private flags:[final]' type=.IOther origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN flags:[val] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN flags:[val] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .Test2' + CALL 'public abstract fun (): kotlin.Int declared in .IOther' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private [final] ' type=.IOther origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + $receiver: GET_VAR ': kotlin.Byte declared in .Test2.' type=kotlin.Byte origin=null + PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [val] + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.String + correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private flags:[final]' type=.IOther origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - PROPERTY DELEGATED_MEMBER name:z2 visibility:public modality:OPEN flags:[var] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY DELEGATED_MEMBER name:z2 visibility:public modality:OPEN flags:[var] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Test2' + CALL 'public abstract fun (): kotlin.String declared in .IOther' type=kotlin.String origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private [final] ' type=.IOther origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + PROPERTY DELEGATED_MEMBER name:z2 visibility:public modality:OPEN [var] + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte) returnType:kotlin.Int + correspondingProperty: PROPERTY DELEGATED_MEMBER name:z2 visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2 + $receiver: VALUE_PARAMETER name: type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private flags:[final]' type=.IOther origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY DELEGATED_MEMBER name:z2 visibility:public modality:OPEN flags:[var] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .Test2' + CALL 'public abstract fun (): kotlin.Int declared in .IOther' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private [final] ' type=.IOther origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + $receiver: GET_VAR ': kotlin.Byte declared in .Test2.' type=kotlin.Byte origin=null + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY DELEGATED_MEMBER name:z2 visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test2 + $receiver: VALUE_PARAMETER name: type:kotlin.Byte + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private flags:[final]' type=.IOther origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - : GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY DELEGATED_MEMBER name:y visibility:public modality:OPEN flags:[var] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY DELEGATED_MEMBER name:y visibility:public modality:OPEN flags:[var] + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .IOther' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private [final] ' type=.IOther origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + $receiver: GET_VAR ': kotlin.Byte declared in .Test2.' type=kotlin.Byte origin=null + : GET_VAR ': kotlin.Int declared in .Test2.' type=kotlin.Int origin=null + PROPERTY DELEGATED_MEMBER name:y visibility:public modality:OPEN [var] + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY DELEGATED_MEMBER name:y visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private flags:[final]' type=.IOther origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY DELEGATED_MEMBER name:y visibility:public modality:OPEN flags:[var] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .Test2' + CALL 'public abstract fun (): kotlin.Int declared in .IOther' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private [final] ' type=.IOther origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY DELEGATED_MEMBER name:y visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, :kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, :kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test2 + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IOther, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private flags:[final]' type=.IOther origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - : GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .IOther' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test2$IOther$delegate type:.IOther visibility:private [final] ' type=.IOther origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + : GET_VAR ': kotlin.Int declared in .Test2.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt index 3f80b7a3341..3333efbef9b 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt @@ -1,84 +1,84 @@ FILE fqName: fileName:/delegatedImplementationWithExplicitOverride.kt - CLASS INTERFACE name:IFooBar modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFooBar flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFooBar flags:[] - FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFooBar flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IFooBar modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFooBar + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFooBar + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFooBar + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public flags:[] superTypes:[.IFooBar] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FooBarImpl flags:[] - CONSTRUCTOR visibility:private <> () returnType:.FooBarImpl flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public superTypes:[.IFooBar] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FooBarImpl + CONSTRUCTOR visibility:private <> () returnType:.FooBarImpl [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public flags:[] superTypes:[.IFooBar]' - FUN name:foo visibility:public modality:OPEN <> ($this:.FooBarImpl) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public superTypes:[.IFooBar]' + FUN name:foo visibility:public modality:OPEN <> ($this:.FooBarImpl) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.FooBarImpl flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.FooBarImpl BLOCK_BODY - FUN name:bar visibility:public modality:OPEN <> ($this:.FooBarImpl) returnType:kotlin.Unit flags:[] + FUN name:bar visibility:public modality:OPEN <> ($this:.FooBarImpl) returnType:kotlin.Unit overridden: - FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.FooBarImpl flags:[] + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.FooBarImpl BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[.IFooBar] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.IFooBar] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[.IFooBar]' - FIELD DELEGATE name:C$IFooBar$delegate type:.FooBarImpl visibility:private flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.IFooBar]' + FIELD DELEGATE name:C$IFooBar$delegate type:.FooBarImpl visibility:private [final] EXPRESSION_BODY - GET_OBJECT 'CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public flags:[] superTypes:[.IFooBar]' type=.FooBarImpl - FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit flags:[] + GET_OBJECT 'CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public superTypes:[.IFooBar]' type=.FooBarImpl + FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:C$IFooBar$delegate type:.FooBarImpl visibility:private flags:[final]' type=.FooBarImpl origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit flags:[] + CALL 'public abstract fun foo (): kotlin.Unit declared in .IFooBar' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:C$IFooBar$delegate type:.FooBarImpl visibility:private [final] ' type=.FooBarImpl origin=null + receiver: GET_VAR ': .C declared in .C.foo' type=.C origin=null + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit overridden: - FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IFooBar) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt index 3d1a1cb3a50..d087fdc3e9a 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt @@ -1,87 +1,87 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt - CLASS CLASS name:Cell modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell<.Cell.T> flags:[] + CLASS CLASS name:Cell modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell.Cell> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary] - VALUE_PARAMETER name:value index:0 type:.Cell.T flags:[] + CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:.Cell.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:OPEN visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .Cell visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:.Cell.T flags:[]' type=.Cell.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell<.Cell.T>) returnType:.Cell.T flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Cell<.Cell.T> flags:[] + GET_VAR 'value: T of .Cell declared in .Cell.' type=T of .Cell origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell.Cell>) returnType:T of .Cell + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Cell.Cell> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell<.Cell.T>) returnType:.Cell.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:.Cell.T visibility:public flags:[final]' type=.Cell.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Cell<.Cell.T> flags:[]' type=.Cell<.Cell.T> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .Cell declared in .Cell' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .Cell visibility:public [final] ' type=T of .Cell origin=null + receiver: GET_VAR ': .Cell.Cell> declared in .Cell.' type=.Cell.Cell> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:C1 modality:FINAL visibility:public flags:[] superTypes:[.Cell] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C1 flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C1 modality:FINAL visibility:public superTypes:[.Cell] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C1 + CONSTRUCTOR visibility:public <> () returnType:.C1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (value: T of .Cell) [primary] declared in .Cell' : kotlin.String value: CONST String type=kotlin.String value="O" - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C1 modality:FINAL visibility:public flags:[] superTypes:[.Cell]' - PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL flags:[val] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C1 modality:FINAL visibility:public superTypes:[.Cell]' + PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell<.Cell.T>) returnType:.Cell.T flags:[] - $this: VALUE_PARAMETER name: type:.Cell flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell.Cell>) returnType:T of .Cell + $this: VALUE_PARAMETER name: type:.Cell + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:C2 modality:FINAL visibility:public flags:[] superTypes:[.Cell] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C2 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C2 flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C2 modality:FINAL visibility:public superTypes:[.Cell] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C2 + CONSTRUCTOR visibility:public <> () returnType:.C2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (value: T of .Cell) [primary] declared in .Cell' : kotlin.String value: CONST String type=kotlin.String value="K" - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C2 modality:FINAL visibility:public flags:[] superTypes:[.Cell]' - PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL flags:[val] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C2 modality:FINAL visibility:public superTypes:[.Cell]' + PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell<.Cell.T>) returnType:.Cell.T flags:[] - $this: VALUE_PARAMETER name: type:.Cell flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell.Cell>) returnType:T of .Cell + $this: VALUE_PARAMETER name: type:.Cell + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt index 9ecaf506656..3fda25204e7 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt @@ -1,48 +1,48 @@ FILE fqName: fileName:/delegatingConstructorCallsInSecondaryConstructors.kt - CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] + CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> () returnType:.Base [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + CONSTRUCTOR visibility:public <> () returnType:.Test BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base]' - CONSTRUCTOR visibility:public <> (xx:kotlin.Int) returnType:.Test flags:[] - VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.Base]' + CONSTRUCTOR visibility:public <> (xx:kotlin.Int) returnType:.Test + VALUE_PARAMETER name:xx index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base]' - CONSTRUCTOR visibility:public <> (xx:kotlin.Short) returnType:.Test flags:[] - VALUE_PARAMETER name:xx index:0 type:kotlin.Short flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.Base]' + CONSTRUCTOR visibility:public <> (xx:kotlin.Short) returnType:.Test + VALUE_PARAMETER name:xx index:0 type:kotlin.Short BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Test flags:[]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Test' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/enum.txt b/compiler/testData/ir/irText/classes/enum.txt index 044c43c6a59..d161fc415ae 100644 --- a/compiler/testData/ir/irText/classes/enum.txt +++ b/compiler/testData/ir/irText/classes/enum.txt @@ -1,545 +1,545 @@ FILE fqName: fileName:/enum.kt - CLASS ENUM_CLASS name:TestEnum1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum1>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum1 flags:[primary] + CLASS ENUM_CLASS name:TestEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum1 + CONSTRUCTOR visibility:private <> () returnType:.TestEnum1 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum1>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum1>]' ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum1 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum1' ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum1 flags:[primary]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Any flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum1' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:java.lang.Class<.TestEnum1?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:java.lang.Class<.TestEnum1?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>, other:.TestEnum1) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>, other:.TestEnum1) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + VALUE_PARAMETER name:other index:0 type:.TestEnum1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum1>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum1> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum1> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum1> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum1 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum1 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum2>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum2 flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS ENUM_CLASS name:TestEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum2>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum2 + CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum2>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum2>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestEnum2 flags:[] + GET_VAR 'x: kotlin.Int declared in .TestEnum2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestEnum2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestEnum2 flags:[]' type=.TestEnum2 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestEnum2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestEnum2 declared in .TestEnum2.' type=.TestEnum2 origin=null ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum2' x: CONST Int type=kotlin.Int value=1 ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum2' x: CONST Int type=kotlin.Int value=2 ENUM_ENTRY name:TEST3 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum2' x: CONST Int type=kotlin.Int value=3 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:java.lang.Class<.TestEnum2?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:java.lang.Class<.TestEnum2?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>, other:.TestEnum2) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>, other:.TestEnum2) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + VALUE_PARAMETER name:other index:0 type:.TestEnum2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum2> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum2> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum2> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum2 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum2 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum3 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum3>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum3 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum3 flags:[primary] + CLASS ENUM_CLASS name:TestEnum3 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestEnum3>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum3 + CONSTRUCTOR visibility:private <> () returnType:.TestEnum3 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnum3 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum3 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum3>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum3 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestEnum3>]' ENUM_ENTRY name:TEST - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum3.TEST flags:[primary]' - class: CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:public flags:[] superTypes:[.TestEnum3] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum3.TEST flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum3.TEST flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum3.TEST' + class: CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:public superTypes:[.TestEnum3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum3.TEST + CONSTRUCTOR visibility:private <> () returnType:.TestEnum3.TEST [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum3 flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:public flags:[] superTypes:[.TestEnum3]' - FUN name:foo visibility:public modality:OPEN <> ($this:.TestEnum3.TEST) returnType:kotlin.Unit flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:public superTypes:[.TestEnum3]' + FUN name:foo visibility:public modality:OPEN <> ($this:.TestEnum3.TEST) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum3) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestEnum3.TEST flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum3) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestEnum3.TEST BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="Hello, world!" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:java.lang.Class<.TestEnum3?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:java.lang.Class<.TestEnum3?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:java.lang.Class<.TestEnum3?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:.TestEnum3) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:java.lang.Class<.TestEnum3?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:.TestEnum3) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:.TestEnum3) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum3 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:.TestEnum3) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + VALUE_PARAMETER name:other index:0 type:.TestEnum3 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum3) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestEnum3 flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum3) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestEnum3 + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:java.lang.Class<.TestEnum3?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:java.lang.Class<.TestEnum3?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:.TestEnum3) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:.TestEnum3) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum3 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + VALUE_PARAMETER name:other index:0 type:.TestEnum3 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum3> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum3> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum3> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum3 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum3 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum4 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum4>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4 flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum4 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS ENUM_CLASS name:TestEnum4 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestEnum4>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4 + CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum4 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnum4 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum4 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum4>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum4 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestEnum4>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestEnum4 flags:[] + GET_VAR 'x: kotlin.Int declared in .TestEnum4.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestEnum4 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestEnum4 flags:[]' type=.TestEnum4 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestEnum4' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestEnum4 declared in .TestEnum4.' type=.TestEnum4 origin=null ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum4.TEST1 flags:[primary]' - class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:public flags:[] superTypes:[.TestEnum4] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4.TEST1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum4.TEST1 flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum4.TEST1' + class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:public superTypes:[.TestEnum4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4.TEST1 + CONSTRUCTOR visibility:private <> () returnType:.TestEnum4.TEST1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum4 flags:[primary]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum4' x: CONST Int type=kotlin.Int value=1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:public flags:[] superTypes:[.TestEnum4]' - FUN name:foo visibility:public modality:OPEN <> ($this:.TestEnum4.TEST1) returnType:kotlin.Unit flags:[] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:public superTypes:[.TestEnum4]' + FUN name:foo visibility:public modality:OPEN <> ($this:.TestEnum4.TEST1) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum4) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestEnum4.TEST1 flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum4) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestEnum4.TEST1 BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: GET_ENUM 'ENUM_ENTRY name:TEST1' type=.TestEnum4 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum4 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + VALUE_PARAMETER name:other index:0 type:.TestEnum4 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.TestEnum4 flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.TestEnum4 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum4.TEST2 flags:[primary]' - class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:public flags:[] superTypes:[.TestEnum4] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4.TEST2 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum4.TEST2 flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum4.TEST2' + class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:public superTypes:[.TestEnum4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4.TEST2 + CONSTRUCTOR visibility:private <> () returnType:.TestEnum4.TEST2 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum4 flags:[primary]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum4' x: CONST Int type=kotlin.Int value=2 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:public flags:[] superTypes:[.TestEnum4]' - PROPERTY name:z visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public flags:[final] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4.TEST2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestEnum4.TEST2 flags:[] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:public superTypes:[.TestEnum4]' + PROPERTY name:z visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public [final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4.TEST2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:z visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestEnum4.TEST2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4.TEST2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestEnum4.TEST2 flags:[]' type=.TestEnum4.TEST2 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestEnum4.TEST2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestEnum4.TEST2 declared in .TestEnum4.TEST2.' type=.TestEnum4.TEST2 origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public flags:[final]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4.TEST2 flags:[]' type=.TestEnum4.TEST2 origin=null - value: CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum4.TEST2 flags:[]' type=.TestEnum4.TEST2 origin=null - FUN name:foo visibility:public modality:OPEN <> ($this:.TestEnum4.TEST2) returnType:kotlin.Unit flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public [final] ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .TestEnum4.TEST2 declared in .TestEnum4.TEST2' type=.TestEnum4.TEST2 origin=null + value: CALL 'public final fun (): kotlin.Int declared in .TestEnum4.TEST2' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .TestEnum4.TEST2 declared in .TestEnum4.TEST2' type=.TestEnum4.TEST2 origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.TestEnum4.TEST2) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum4) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestEnum4.TEST2 flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum4) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestEnum4.TEST2 BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: GET_ENUM 'ENUM_ENTRY name:TEST2' type=.TestEnum4 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum4 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + VALUE_PARAMETER name:other index:0 type:.TestEnum4 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.TestEnum4 flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum4) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.TestEnum4 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum4) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestEnum4 flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestEnum4) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestEnum4 + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:java.lang.Class<.TestEnum4?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:.TestEnum4) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum4 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + VALUE_PARAMETER name:other index:0 type:.TestEnum4 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum4>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum4> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum4> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum4> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum4 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum4 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum5 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum5>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum5 flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS ENUM_CLASS name:TestEnum5 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum5>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum5 + CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=0 BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnum5 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum5 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum5>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum5 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum5>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum5) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestEnum5 flags:[] + GET_VAR 'x: kotlin.Int declared in .TestEnum5.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum5) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestEnum5 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum5) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestEnum5 flags:[]' type=.TestEnum5 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestEnum5' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestEnum5 declared in .TestEnum5.' type=.TestEnum5 origin=null ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum5' ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum5' ENUM_ENTRY name:TEST3 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestEnum5' x: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:java.lang.Class<.TestEnum5?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:java.lang.Class<.TestEnum5?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>, other:.TestEnum5) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>, other:.TestEnum5) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum5 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + VALUE_PARAMETER name:other index:0 type:.TestEnum5 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum5> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum5> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum5> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum5 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum5 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/enumClassModality.txt b/compiler/testData/ir/irText/classes/enumClassModality.txt index 26531fb9d16..6178a97eb17 100644 --- a/compiler/testData/ir/irText/classes/enumClassModality.txt +++ b/compiler/testData/ir/irText/classes/enumClassModality.txt @@ -1,656 +1,656 @@ FILE fqName: fileName:/enumClassModality.kt - CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum1>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum1 flags:[primary] + CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum1 + CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum1 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestFinalEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum1>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum1>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum1 flags:[primary]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Any flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestFinalEnum1' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:java.lang.Class<.TestFinalEnum1?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:java.lang.Class<.TestFinalEnum1?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>, other:.TestFinalEnum1) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>, other:.TestFinalEnum1) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestFinalEnum1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + VALUE_PARAMETER name:other index:0 type:.TestFinalEnum1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum1> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum1> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum1 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum1 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum2>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum2 flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestFinalEnum2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum2>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum2 + CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestFinalEnum2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestFinalEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum2>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum2>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestFinalEnum2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestFinalEnum2 flags:[] + GET_VAR 'x: kotlin.Int declared in .TestFinalEnum2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestFinalEnum2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestFinalEnum2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestFinalEnum2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestFinalEnum2 flags:[]' type=.TestFinalEnum2 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestFinalEnum2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestFinalEnum2 declared in .TestFinalEnum2.' type=.TestFinalEnum2 origin=null ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestFinalEnum2 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestFinalEnum2' x: CONST Int type=kotlin.Int value=1 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:java.lang.Class<.TestFinalEnum2?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:java.lang.Class<.TestFinalEnum2?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>, other:.TestFinalEnum2) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>, other:.TestFinalEnum2) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestFinalEnum2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + VALUE_PARAMETER name:other index:0 type:.TestFinalEnum2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum2> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum2> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum2 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum2 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum3>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum3 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum3 flags:[primary] + CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum3>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum3 + CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum3 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestFinalEnum3 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum3>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum3>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum3 flags:[primary]' - FUN name:doStuff visibility:public modality:FINAL <> ($this:.TestFinalEnum3) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestFinalEnum3 flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestFinalEnum3' + FUN name:doStuff visibility:public modality:FINAL <> ($this:.TestFinalEnum3) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestFinalEnum3 BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:java.lang.Class<.TestFinalEnum3?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:java.lang.Class<.TestFinalEnum3?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>, other:.TestFinalEnum3) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>, other:.TestFinalEnum3) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestFinalEnum3 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + VALUE_PARAMETER name:other index:0 type:.TestFinalEnum3 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum3> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum3> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum3 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum3 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestOpenEnum1>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1 flags:[primary] + CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum1 + CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestOpenEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestOpenEnum1>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum1>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1.X1 flags:[primary]' - class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestOpenEnum1] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum1.X1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1.X1 flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum1.X1' + class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestOpenEnum1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum1.X1 + CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1 flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestOpenEnum1]' - FUN name:toString visibility:public modality:OPEN <> ($this:.TestOpenEnum1.X1) returnType:kotlin.String flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestOpenEnum1]' + FUN name:toString visibility:public modality:OPEN <> ($this:.TestOpenEnum1.X1) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.TestOpenEnum1.X1 flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.TestOpenEnum1.X1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:OPEN <> ($this:.TestOpenEnum1.X1) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .TestOpenEnum1.X1' CONST String type=kotlin.String value="X1" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestOpenEnum1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + VALUE_PARAMETER name:other index:0 type:.TestOpenEnum1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestOpenEnum1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + VALUE_PARAMETER name:other index:0 type:.TestOpenEnum1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum1> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum1> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum1 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum1 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestOpenEnum2>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum2 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2 flags:[primary] + CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum2>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum2 + CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestOpenEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestOpenEnum2>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum2>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2.X1 flags:[primary]' - class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestOpenEnum2] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum2.X1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2.X1 flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum2.X1' + class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestOpenEnum2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum2.X1 + CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2 flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestOpenEnum2]' - FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2.X1) returnType:kotlin.Unit flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestOpenEnum2]' + FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2.X1) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestOpenEnum2.X1 flags:[] + FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestOpenEnum2.X1 BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestOpenEnum2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + VALUE_PARAMETER name:other index:0 type:.TestOpenEnum2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestOpenEnum2 flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestOpenEnum2 BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestOpenEnum2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + VALUE_PARAMETER name:other index:0 type:.TestOpenEnum2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum2> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum2> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum2 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum2 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestAbstractEnum1>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1 flags:[primary] + CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum1 + CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestAbstractEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestAbstractEnum1>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum1>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1.X1 flags:[primary]' - class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestAbstractEnum1] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum1.X1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1.X1 flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum1.X1' + class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestAbstractEnum1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum1.X1 + CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1 flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestAbstractEnum1]' - FUN name:foo visibility:public modality:OPEN <> ($this:.TestAbstractEnum1.X1) returnType:kotlin.Unit flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestAbstractEnum1]' + FUN name:foo visibility:public modality:OPEN <> ($this:.TestAbstractEnum1.X1) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestAbstractEnum1) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestAbstractEnum1.X1 flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestAbstractEnum1) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestAbstractEnum1.X1 BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestAbstractEnum1) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestAbstractEnum1 flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestAbstractEnum1) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestAbstractEnum1 + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum1> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum1> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum1 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum1 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFoo flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFoo + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ENUM_CLASS name:TestAbstractEnum2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestAbstractEnum2>; .IFoo] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum2 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2 flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ENUM_CLASS name:TestAbstractEnum2 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum2>; .IFoo] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum2 + CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2 [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestAbstractEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestAbstractEnum2>; .IFoo]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum2 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum2>; .IFoo]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2.X1 flags:[primary]' - class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestAbstractEnum2] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum2.X1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2.X1 flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum2.X1' + class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestAbstractEnum2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum2.X1 + CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2 flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public flags:[] superTypes:[.TestAbstractEnum2]' - FUN name:foo visibility:public modality:OPEN <> ($this:.TestAbstractEnum2.X1) returnType:kotlin.Unit flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:public superTypes:[.TestAbstractEnum2]' + FUN name:foo visibility:public modality:OPEN <> ($this:.TestAbstractEnum2.X1) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.TestAbstractEnum2.X1 flags:[] + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.TestAbstractEnum2.X1 BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFoo flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFoo + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum2 flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum2 + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum2> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum2> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum2 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum2 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt index f4534603dc6..94fb9a70d86 100644 --- a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt +++ b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt @@ -1,357 +1,357 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt - CLASS ENUM_CLASS name:Test0 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Test0>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test0 flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test0 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS ENUM_CLASS name:Test0 modality:FINAL visibility:public superTypes:[kotlin.Enum<.Test0>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test0 + CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test0 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .Test0 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test0 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Test0>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test0 modality:FINAL visibility:public superTypes:[kotlin.Enum<.Test0>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test0) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test0 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test0.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test0) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test0 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test0) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test0 flags:[]' type=.Test0 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test0' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test0 declared in .Test0.' type=.Test0 origin=null ENUM_ENTRY name:ZERO - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Test0 flags:[]' - CONSTRUCTOR visibility:private <> () returnType:.Test0 flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .Test0' + CONSTRUCTOR visibility:private <> () returnType:.Test0 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test0 flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .Test0' x: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:java.lang.Class<.Test0?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:java.lang.Class<.Test0?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>, other:.Test0) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>, other:.Test0) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - VALUE_PARAMETER name:other index:0 type:.Test0 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + VALUE_PARAMETER name:other index:0 type:.Test0 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test0> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test0> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test0> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test0 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test0 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Test1>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test1 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS ENUM_CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.Test1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test1 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .Test1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Test1>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.Test1>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null ENUM_ENTRY name:ZERO - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Test1 flags:[]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .Test1' ENUM_ENTRY name:ONE - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test1 flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .Test1' x: CONST Int type=kotlin.Int value=1 - CONSTRUCTOR visibility:private <> () returnType:.Test1 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Test1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test1 flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .Test1' x: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:java.lang.Class<.Test1?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:java.lang.Class<.Test1?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>, other:.Test1) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>, other:.Test1) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - VALUE_PARAMETER name:other index:0 type:.Test1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + VALUE_PARAMETER name:other index:0 type:.Test1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test1> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test1> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test1> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test1 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test1 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:Test2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.Test2>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS ENUM_CLASS name:Test2 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.Test2>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .Test2 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.Test2>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test2 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.Test2>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null ENUM_ENTRY name:ZERO - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Test2.ZERO flags:[primary]' - class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:public flags:[] superTypes:[.Test2] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.ZERO flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Test2.ZERO flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Test2.ZERO' + class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:public superTypes:[.Test2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.ZERO + CONSTRUCTOR visibility:private <> () returnType:.Test2.ZERO [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Test2 flags:[]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:public flags:[] superTypes:[.Test2]' - FUN name:foo visibility:public modality:OPEN <> ($this:.Test2.ZERO) returnType:kotlin.Unit flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .Test2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:public superTypes:[.Test2]' + FUN name:foo visibility:public modality:OPEN <> ($this:.Test2.ZERO) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Test2) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test2.ZERO flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Test2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test2.ZERO BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="ZERO" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - VALUE_PARAMETER name:other index:0 type:.Test2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + VALUE_PARAMETER name:other index:0 type:.Test2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> ENUM_ENTRY name:ONE - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Test2.ONE flags:[primary]' - class: CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:public flags:[] superTypes:[.Test2] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.ONE flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Test2.ONE flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Test2.ONE' + class: CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:public superTypes:[.Test2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.ONE + CONSTRUCTOR visibility:private <> () returnType:.Test2.ONE [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test2 flags:[primary]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .Test2' x: CONST Int type=kotlin.Int value=1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:public flags:[] superTypes:[.Test2]' - FUN name:foo visibility:public modality:OPEN <> ($this:.Test2.ONE) returnType:kotlin.Unit flags:[] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:public superTypes:[.Test2]' + FUN name:foo visibility:public modality:OPEN <> ($this:.Test2.ONE) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Test2) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test2.ONE flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Test2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test2.ONE BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="ONE" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - VALUE_PARAMETER name:other index:0 type:.Test2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + VALUE_PARAMETER name:other index:0 type:.Test2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test2 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Test2 flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + CONSTRUCTOR visibility:private <> () returnType:.Test2 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test2 flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .Test2' x: CONST Int type=kotlin.Int value=0 - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Test2) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Test2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test2 + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:java.lang.Class<.Test2?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:.Test2) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - VALUE_PARAMETER name:other index:0 type:.Test2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + VALUE_PARAMETER name:other index:0 type:.Test2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test2> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Test2> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test2> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test2 flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test2 + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/initBlock.txt b/compiler/testData/ir/irText/classes/initBlock.txt index d5af1b749aa..5edf56cbab2 100644 --- a/compiler/testData/ir/irText/classes/initBlock.txt +++ b/compiler/testData/ir/irText/classes/initBlock.txt @@ -1,153 +1,153 @@ FILE fqName: fileName:/initBlock.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> () returnType:.Test1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - CONSTRUCTOR visibility:public <> () returnType:.Test3 flags:[] + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + CONSTRUCTOR visibility:public <> () returnType:.Test3 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="1" - CONSTRUCTOR visibility:public <> () returnType:.Test4 flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Test4 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="2" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test5 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test5 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test5 flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test5 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test5 + CONSTRUCTOR visibility:public <> () returnType:.Test5 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test5 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test5 modality:FINAL visibility:public superTypes:[kotlin.Any]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="1" - CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test5.TestInner flags:[] - CONSTRUCTOR visibility:public <> ($this:.Test5) returnType:.Test5.TestInner flags:[primary] - $outer: VALUE_PARAMETER name: type:.Test5 flags:[] + CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test5.TestInner + CONSTRUCTOR visibility:public <> ($this:.Test5) returnType:.Test5.TestInner [primary] + $outer: VALUE_PARAMETER name: type:.Test5 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="2" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/initVal.txt b/compiler/testData/ir/irText/classes/initVal.txt index 0946dbe5cb4..b10d1bada9f 100644 --- a/compiler/testData/ir/irText/classes/initVal.txt +++ b/compiler/testData/ir/irText/classes/initVal.txt @@ -1,95 +1,95 @@ FILE fqName: fileName:/initVal.kt - CLASS CLASS name:TestInitValFromParameter modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitValFromParameter flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestInitValFromParameter flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS CLASS name:TestInitValFromParameter modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitValFromParameter + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestInitValFromParameter [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValFromParameter modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValFromParameter modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValFromParameter) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestInitValFromParameter flags:[] + GET_VAR 'x: kotlin.Int declared in .TestInitValFromParameter.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValFromParameter) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestInitValFromParameter BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValFromParameter) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitValFromParameter flags:[]' type=.TestInitValFromParameter origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitValFromParameter' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitValFromParameter declared in .TestInitValFromParameter.' type=.TestInitValFromParameter origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitValInClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitValInClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestInitValInClass flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitValInClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitValInClass + CONSTRUCTOR visibility:public <> () returnType:.TestInitValInClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValInClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValInClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValInClass) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestInitValInClass flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValInClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestInitValInClass BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValInClass) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitValInClass flags:[]' type=.TestInitValInClass origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitValInClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitValInClass declared in .TestInitValInClass.' type=.TestInitValInClass origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitValInInitBlock modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitValInInitBlock flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestInitValInInitBlock flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitValInInitBlock modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitValInInitBlock + CONSTRUCTOR visibility:public <> () returnType:.TestInitValInInitBlock [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValInInitBlock modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValInInitBlock) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestInitValInInitBlock flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValInInitBlock modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValInInitBlock) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestInitValInInitBlock BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitValInInitBlock) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitValInInitBlock flags:[]' type=.TestInitValInInitBlock origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitValInInitBlock' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitValInInitBlock declared in .TestInitValInInitBlock.' type=.TestInitValInInitBlock origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitValInInitBlock flags:[]' type=.TestInitValInInitBlock origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .TestInitValInInitBlock declared in .TestInitValInInitBlock' type=.TestInitValInInitBlock origin=null value: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/initVar.txt b/compiler/testData/ir/irText/classes/initVar.txt index fbd8b23cb90..f7f0ff8e10a 100644 --- a/compiler/testData/ir/irText/classes/initVar.txt +++ b/compiler/testData/ir/irText/classes/initVar.txt @@ -1,237 +1,237 @@ FILE fqName: fileName:/initVar.kt - CLASS CLASS name:TestInitVarFromParameter modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarFromParameter flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestInitVarFromParameter flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS CLASS name:TestInitVarFromParameter modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarFromParameter + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestInitVarFromParameter [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarFromParameter modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarFromParameter modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarFromParameter) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarFromParameter flags:[] + GET_VAR 'x: kotlin.Int declared in .TestInitVarFromParameter.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarFromParameter) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarFromParameter BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarFromParameter) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarFromParameter flags:[]' type=.TestInitVarFromParameter origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarFromParameter, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarFromParameter flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitVarFromParameter' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitVarFromParameter declared in .TestInitVarFromParameter.' type=.TestInitVarFromParameter origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarFromParameter, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarFromParameter + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarFromParameter flags:[]' type=.TestInitVarFromParameter origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .TestInitVarFromParameter declared in .TestInitVarFromParameter.' type=.TestInitVarFromParameter origin=null + value: GET_VAR ': kotlin.Int declared in .TestInitVarFromParameter.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitVarInClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarInClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestInitVarInClass flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitVarInClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarInClass + CONSTRUCTOR visibility:public <> () returnType:.TestInitVarInClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarInClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarInClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInClass) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarInClass flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarInClass BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInClass) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarInClass flags:[]' type=.TestInitVarInClass origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInClass, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarInClass flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitVarInClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitVarInClass declared in .TestInitVarInClass.' type=.TestInitVarInClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInClass, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarInClass + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarInClass flags:[]' type=.TestInitVarInClass origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .TestInitVarInClass declared in .TestInitVarInClass.' type=.TestInitVarInClass origin=null + value: GET_VAR ': kotlin.Int declared in .TestInitVarInClass.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitVarInInitBlock modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarInInitBlock flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestInitVarInInitBlock flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitVarInInitBlock modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarInInitBlock + CONSTRUCTOR visibility:public <> () returnType:.TestInitVarInInitBlock [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarInInitBlock modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInInitBlock) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarInInitBlock flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarInInitBlock modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInInitBlock) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarInInitBlock BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInInitBlock) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarInInitBlock flags:[]' type=.TestInitVarInInitBlock origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInInitBlock, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarInInitBlock flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitVarInInitBlock' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitVarInInitBlock declared in .TestInitVarInInitBlock.' type=.TestInitVarInInitBlock origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInInitBlock, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarInInitBlock + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarInInitBlock flags:[]' type=.TestInitVarInInitBlock origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .TestInitVarInInitBlock declared in .TestInitVarInInitBlock.' type=.TestInitVarInInitBlock origin=null + value: GET_VAR ': kotlin.Int declared in .TestInitVarInInitBlock.' type=kotlin.Int origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarInInitBlock, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarInInitBlock flags:[]' type=.TestInitVarInInitBlock origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .TestInitVarInInitBlock' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .TestInitVarInInitBlock declared in .TestInitVarInInitBlock' type=.TestInitVarInInitBlock origin=null : CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitVarWithCustomSetter modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetter flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestInitVarWithCustomSetter flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitVarWithCustomSetter modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetter + CONSTRUCTOR visibility:public <> () returnType:.TestInitVarWithCustomSetter [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarWithCustomSetter modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarWithCustomSetter modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetter) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetter flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetter) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetter BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetter) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarWithCustomSetter flags:[]' type=.TestInitVarWithCustomSetter origin=null - FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetter, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetter flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitVarWithCustomSetter' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitVarWithCustomSetter declared in .TestInitVarWithCustomSetter.' type=.TestInitVarWithCustomSetter origin=null + FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetter, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetter + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarWithCustomSetter flags:[]' type=.TestInitVarWithCustomSetter origin=null - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .TestInitVarWithCustomSetter declared in .TestInitVarWithCustomSetter.' type=.TestInitVarWithCustomSetter origin=null + value: GET_VAR 'value: kotlin.Int declared in .TestInitVarWithCustomSetter.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitVarWithCustomSetterWithExplicitCtor modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetterWithExplicitCtor flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterWithExplicitCtor) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterWithExplicitCtor flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitVarWithCustomSetterWithExplicitCtor modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetterWithExplicitCtor + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterWithExplicitCtor) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterWithExplicitCtor BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterWithExplicitCtor) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterWithExplicitCtor flags:[]' type=.TestInitVarWithCustomSetterWithExplicitCtor origin=null - FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterWithExplicitCtor, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterWithExplicitCtor flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitVarWithCustomSetterWithExplicitCtor' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitVarWithCustomSetterWithExplicitCtor declared in .TestInitVarWithCustomSetterWithExplicitCtor.' type=.TestInitVarWithCustomSetterWithExplicitCtor origin=null + FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterWithExplicitCtor, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterWithExplicitCtor + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterWithExplicitCtor flags:[]' type=.TestInitVarWithCustomSetterWithExplicitCtor origin=null - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .TestInitVarWithCustomSetterWithExplicitCtor declared in .TestInitVarWithCustomSetterWithExplicitCtor.' type=.TestInitVarWithCustomSetterWithExplicitCtor origin=null + value: GET_VAR 'value: kotlin.Int declared in .TestInitVarWithCustomSetterWithExplicitCtor.' type=kotlin.Int origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterWithExplicitCtor, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetterWithExplicitCtor flags:[]' type=.TestInitVarWithCustomSetterWithExplicitCtor origin=null + CALL 'public final fun (value: kotlin.Int): kotlin.Unit declared in .TestInitVarWithCustomSetterWithExplicitCtor' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .TestInitVarWithCustomSetterWithExplicitCtor declared in .TestInitVarWithCustomSetterWithExplicitCtor' type=.TestInitVarWithCustomSetterWithExplicitCtor origin=null value: CONST Int type=kotlin.Int value=0 - CONSTRUCTOR visibility:public <> () returnType:.TestInitVarWithCustomSetterWithExplicitCtor flags:[] + CONSTRUCTOR visibility:public <> () returnType:.TestInitVarWithCustomSetterWithExplicitCtor BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarWithCustomSetterWithExplicitCtor modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarWithCustomSetterWithExplicitCtor modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitVarWithCustomSetterInCtor modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetterInCtor flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterInCtor) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterInCtor flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitVarWithCustomSetterInCtor modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetterInCtor + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterInCtor) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterInCtor BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterInCtor) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterInCtor flags:[]' type=.TestInitVarWithCustomSetterInCtor origin=null - FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterInCtor, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterInCtor flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitVarWithCustomSetterInCtor' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitVarWithCustomSetterInCtor declared in .TestInitVarWithCustomSetterInCtor.' type=.TestInitVarWithCustomSetterInCtor origin=null + FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterInCtor, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterInCtor + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitVarWithCustomSetterInCtor flags:[]' type=.TestInitVarWithCustomSetterInCtor origin=null - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - CONSTRUCTOR visibility:public <> () returnType:.TestInitVarWithCustomSetterInCtor flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .TestInitVarWithCustomSetterInCtor declared in .TestInitVarWithCustomSetterInCtor.' type=.TestInitVarWithCustomSetterInCtor origin=null + value: GET_VAR 'value: kotlin.Int declared in .TestInitVarWithCustomSetterInCtor.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.TestInitVarWithCustomSetterInCtor BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarWithCustomSetterInCtor modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CALL 'FUN name: visibility:public modality:FINAL <> ($this:.TestInitVarWithCustomSetterInCtor, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitVarWithCustomSetterInCtor flags:[]' type=.TestInitVarWithCustomSetterInCtor origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitVarWithCustomSetterInCtor modality:FINAL visibility:public superTypes:[kotlin.Any]' + CALL 'public final fun (value: kotlin.Int): kotlin.Unit declared in .TestInitVarWithCustomSetterInCtor' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .TestInitVarWithCustomSetterInCtor declared in .TestInitVarWithCustomSetterInCtor' type=.TestInitVarWithCustomSetterInCtor origin=null value: CONST Int type=kotlin.Int value=42 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/inlineClass.txt b/compiler/testData/ir/irText/classes/inlineClass.txt index 30d60bed682..7c49c7dd929 100644 --- a/compiler/testData/ir/irText/classes/inlineClass.txt +++ b/compiler/testData/ir/irText/classes/inlineClass.txt @@ -1,73 +1,73 @@ FILE fqName: fileName:/inlineClass.kt - CLASS CLASS name:Test modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS CLASS name:Test modality:FINAL visibility:public [inline] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public [inline] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test flags:[] + GET_VAR 'x: kotlin.Int declared in .Test.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null - FUN GENERATED_INLINE_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test declared in .Test.' type=.Test origin=null + FUN GENERATED_INLINE_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_INLINE_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null + CALL 'public final fun (): kotlin.Int declared in .Test' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test declared in .Test.toString' type=.Test origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_INLINE_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.Int flags:[] + FUN GENERATED_INLINE_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_INLINE_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_INLINE_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Int declared in .Test' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test declared in .Test.hashCode' type=.Test origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test.hashCode' type=kotlin.Int origin=null + FUN GENERATED_INLINE_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test - typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_INLINE_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public [inline] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test [val] TYPE_OP type=.Test origin=CAST typeOperand=.Test - typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public [inline] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test flags:[val]' type=.Test origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_INLINE_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Int declared in .Test' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test declared in .Test.equals' type=.Test origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in .Test' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test [val] declared in .Test.equals' type=.Test origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_INLINE_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/classes/innerClass.txt b/compiler/testData/ir/irText/classes/innerClass.txt index 41841aacc01..e6e015174a0 100644 --- a/compiler/testData/ir/irText/classes/innerClass.txt +++ b/compiler/testData/ir/irText/classes/innerClass.txt @@ -1,61 +1,61 @@ FILE fqName: fileName:/innerClass.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer + CONSTRUCTOR visibility:public <> () returnType:.Outer [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:TestInnerClass modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.TestInnerClass flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.TestInnerClass flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:TestInnerClass modality:OPEN visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.TestInnerClass + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.TestInnerClass [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInnerClass modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInnerClass modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:DerivedInnerClass modality:FINAL visibility:public flags:[inner] superTypes:[.Outer.TestInnerClass] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.DerivedInnerClass flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.DerivedInnerClass flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:DerivedInnerClass modality:FINAL visibility:public [inner] superTypes:[.Outer.TestInnerClass] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.DerivedInnerClass + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.DerivedInnerClass [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.TestInnerClass flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedInnerClass modality:FINAL visibility:public flags:[inner] superTypes:[.Outer.TestInnerClass]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Outer.TestInnerClass' + $this: GET_VAR ': .Outer declared in .Outer.DerivedInnerClass.' type=.Outer origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedInnerClass modality:FINAL visibility:public [inner] superTypes:[.Outer.TestInnerClass]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt b/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt index 2d9c2aace8f..4d88b166abf 100644 --- a/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt +++ b/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt @@ -1,58 +1,58 @@ FILE fqName: fileName:/innerClassWithDelegatingConstructor.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer + CONSTRUCTOR visibility:public <> () returnType:.Outer [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer, x:kotlin.Int) returnType:.Outer.Inner flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner + CONSTRUCTOR visibility:public <> ($this:.Outer, x:kotlin.Int) returnType:.Outer.Inner [primary] + $outer: VALUE_PARAMETER name: type:.Outer + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Outer.Inner flags:[] + GET_VAR 'x: kotlin.Int declared in .Outer.Inner.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Outer.Inner BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Outer.Inner flags:[]' type=.Outer.Inner origin=null - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Outer.Inner' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Outer.Inner declared in .Outer.Inner.' type=.Outer.Inner origin=null + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer, x:kotlin.Int) returnType:.Outer.Inner flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int) [primary] declared in .Outer.Inner' + $this: GET_VAR ': .Outer declared in .Outer.Inner.' type=.Outer origin=null x: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt index 2f0dfc78997..e63eb9ffa8a 100644 --- a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt +++ b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt @@ -1,222 +1,222 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (runA:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A flags:[primary] - VALUE_PARAMETER name:runA index:0 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[] + CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (runA:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A [primary] + VALUE_PARAMETER name:runA index:0 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> EXPRESSION_BODY - BLOCK type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A, it:kotlin.String) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:it index:0 type:kotlin.String flags:[] + BLOCK type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A, it:kotlin.String) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A, it:kotlin.String) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A, it:kotlin.String) returnType:kotlin.Unit flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=LAMBDA + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.String): kotlin.Unit declared in .A.' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (it: kotlin.String): kotlin.Unit declared in .A.' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=LAMBDA BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:runA visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:runA type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:runA visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:runA type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:runA index:0 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[] - correspondingProperty: PROPERTY name:runA visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'runA: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A.' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> + correspondingProperty: PROPERTY name:runA visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:runA type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> visibility:public flags:[final]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + RETURN type=kotlin.Nothing from='public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:runA type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> visibility:public [final] ' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.A, runA:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:runA index:0 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' + CALL 'public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.component1' type=.A origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.A, runA:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:runA index:0 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null + CALL 'public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.copy' type=.A origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.A, runA:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (runA:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A flags:[primary]' type=.A origin=null - runA: GET_VAR 'VALUE_PARAMETER name:runA index:0 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (runA: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>): .A declared in .A' + CALL 'public constructor (runA: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) [primary] declared in .A' type=.A origin=null + runA: GET_VAR 'runA: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A.copy' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .A' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="A(" CONST String type=kotlin.String value="runA=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null + CALL 'public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.toString' type=.A origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .A.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Function2' type=kotlin.Int origin=null + $this: CALL 'public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.hashCode' type=.A origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .A' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .A.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .A declared in .A.equals' type=.A origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.A - typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A [val] TYPE_OP type=.A origin=CAST typeOperand=.A - typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A flags:[val]' type=.A origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.equals' type=.A origin=null + arg1: CALL 'public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> declared in .A' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .A [val] declared in .A.equals' type=.A origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=true - CLASS CLASS name:B modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Any) returnType:.B flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + CLASS CLASS name:B modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> (x:kotlin.Any) returnType:.B [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Any EXPRESSION_BODY BLOCK type=.B.. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.B.. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.. + CONSTRUCTOR visibility:public <> () returnType:.B.. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.B.. flags:[primary]' type=.B.. origin=OBJECT_LITERAL + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .B..' type=.B.. origin=OBJECT_LITERAL BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.B flags:[] + GET_VAR 'x: kotlin.Any declared in .B.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any visibility:public flags:[final]' type=kotlin.Any origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any visibility:public [final] ' type=kotlin.Any origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.B BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.B, x:kotlin.Any) returnType:.B flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Any declared in .B' + CALL 'public final fun (): kotlin.Any declared in .B' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.component1' type=.B origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.B, x:kotlin.Any) returnType:.B + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:x index:0 type:kotlin.Any EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null + CALL 'public final fun (): kotlin.Any declared in .B' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.copy' type=.B origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.B, x:kotlin.Any) returnType:.B flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Any) returnType:.B flags:[primary]' type=.B origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: kotlin.Any): .B declared in .B' + CALL 'public constructor (x: kotlin.Any) [primary] declared in .B' type=.B origin=null + x: GET_VAR 'x: kotlin.Any declared in .B.copy' type=kotlin.Any origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.B BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .B' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="B(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null + CALL 'public final fun (): kotlin.Any declared in .B' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.toString' type=.B origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.B, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .B.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Any declared in .B' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.hashCode' type=.B origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .B' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .B.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.B, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.B, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .B declared in .B.equals' type=.B origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .B.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.B - typeOperand: CLASS CLASS name:B modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.B, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:B modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .B.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.B flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.B [val] TYPE_OP type=.B origin=CAST typeOperand=.B - typeOperand: CLASS CLASS name:B modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:B modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .B.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.B flags:[val]' type=.B origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.B, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Any declared in .B' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.equals' type=.B origin=null + arg1: CALL 'public final fun (): kotlin.Any declared in .B' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .B [val] declared in .B.equals' type=.B origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.B, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/classes/localClasses.txt b/compiler/testData/ir/irText/classes/localClasses.txt index e80de4579fc..db21ea96509 100644 --- a/compiler/testData/ir/irText/classes/localClasses.txt +++ b/compiler/testData/ir/irText/classes/localClasses.txt @@ -1,27 +1,27 @@ FILE fqName: fileName:/localClasses.kt - FUN name:outer visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:outer visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CLASS CLASS name:LocalClass modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.LocalClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.outer.LocalClass flags:[primary] + CLASS CLASS name:LocalClass modality:FINAL visibility:local superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.LocalClass + CONSTRUCTOR visibility:public <> () returnType:.outer.LocalClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalClass modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL <> ($this:.outer.LocalClass) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.outer.LocalClass flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalClass modality:FINAL visibility:local superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.outer.LocalClass) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.outer.LocalClass BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.outer.LocalClass) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR visibility:public <> () returnType:.outer.LocalClass flags:[primary]' type=.outer.LocalClass origin=null + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public final fun foo (): kotlin.Unit declared in .outer.LocalClass' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .outer.LocalClass' type=.outer.LocalClass origin=null diff --git a/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt b/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt index 8a67d5bddf4..ff1e0a3e053 100644 --- a/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt +++ b/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt @@ -1,192 +1,192 @@ FILE fqName: fileName:/objectLiteralExpressions.kt - CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFoo flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFoo + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Any visibility:public flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Any visibility:public [final,static] EXPRESSION_BODY BLOCK type=.test1. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test1. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.test1. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test1. + CONSTRUCTOR visibility:public <> () returnType:.test1. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.test1. flags:[primary]' type=.test1. origin=OBJECT_LITERAL - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .test1.' type=.test1. origin=OBJECT_LITERAL + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Any visibility:public flags:[final,static]' type=kotlin.Any origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:.IFoo visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Any visibility:public [final,static] ' type=kotlin.Any origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:.IFoo visibility:public [final,static] EXPRESSION_BODY BLOCK type=.test2. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.IFoo] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test2. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.test2. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.IFoo] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test2. + CONSTRUCTOR visibility:public <> () returnType:.test2. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.IFoo]' - FUN name:foo visibility:public modality:OPEN <> ($this:.test2.) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.IFoo]' + FUN name:foo visibility:public modality:OPEN <> ($this:.test2.) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.test2. flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.test2. BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="foo" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.test2. flags:[primary]' type=.test2. origin=OBJECT_LITERAL - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.IFoo flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .test2.' type=.test2. origin=OBJECT_LITERAL + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.IFoo + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.IFoo flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:.IFoo visibility:public flags:[final,static]' type=.IFoo origin=null - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] + RETURN type=kotlin.Nothing from='public final fun (): .IFoo declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:.IFoo visibility:public [final,static] ' type=.IFoo origin=null + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer + CONSTRUCTOR visibility:public <> () returnType:.Outer [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:Inner modality:ABSTRACT visibility:public flags:[inner] superTypes:[.IFoo] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:Inner modality:ABSTRACT visibility:public [inner] superTypes:[.IFoo] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:ABSTRACT visibility:public flags:[inner] superTypes:[.IFoo]' - FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:ABSTRACT visibility:public [inner] superTypes:[.IFoo]' + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFoo flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFoo + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test3 visibility:public modality:FINAL <> ($this:.Outer) returnType:.Outer.Inner flags:[] - $this: VALUE_PARAMETER name: type:.Outer flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test3 visibility:public modality:FINAL <> ($this:.Outer) returnType:.Outer.Inner + $this: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> ($this:.Outer) returnType:.Outer.Inner flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (): .Outer.Inner declared in .Outer' BLOCK type=.Outer.test3. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.test3. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer.test3. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.test3. + CONSTRUCTOR visibility:public <> () returnType:.Outer.test3. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner]' - FUN name:foo visibility:public modality:OPEN <> ($this:.Outer.test3.) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Outer.Inner' + $this: GET_VAR ': .Outer declared in .Outer.test3' type=.Outer origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner]' + FUN name:foo visibility:public modality:OPEN <> ($this:.Outer.test3.) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer.test3. flags:[] + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer.test3. BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="foo" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Outer.test3. flags:[primary]' type=.Outer.test3. origin=OBJECT_LITERAL - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .Outer.test3.' type=.Outer.test3. origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test4 visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner flags:[] - $receiver: VALUE_PARAMETER name: type:.Outer flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test4 visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner + $receiver: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner flags:[]' + RETURN type=kotlin.Nothing from='public final fun test4 (): .Outer.Inner declared in ' BLOCK type=.test4. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test4. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.test4. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test4. + CONSTRUCTOR visibility:public <> () returnType:.test4. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner]' - FUN name:foo visibility:public modality:OPEN <> ($this:.test4.) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Outer.Inner' + $this: GET_VAR ': .Outer declared in .test4' type=.Outer origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner]' + FUN name:foo visibility:public modality:OPEN <> ($this:.test4.) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.test4. flags:[] + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.test4. BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="foo" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.test4. flags:[primary]' type=.test4. origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .test4.' type=.test4. origin=OBJECT_LITERAL diff --git a/compiler/testData/ir/irText/classes/objectWithInitializers.txt b/compiler/testData/ir/irText/classes/objectWithInitializers.txt index f2ab8892406..9e331409fe0 100644 --- a/compiler/testData/ir/irText/classes/objectWithInitializers.txt +++ b/compiler/testData/ir/irText/classes/objectWithInitializers.txt @@ -1,65 +1,65 @@ FILE fqName: fileName:/objectWithInitializers.kt - CLASS CLASS name:Base modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] + CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> () returnType:.Base [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Test flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + CONSTRUCTOR visibility:private <> () returnType:.Test [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test declared in .Test.' type=.Test origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test declared in .Test.' type=.Test origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[]' type=.Test origin=null - value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[]' type=.Test origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Test declared in .Test' type=.Test origin=null + value: CALL 'public final fun (): kotlin.Int declared in .Test' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Test declared in .Test' type=.Test origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/outerClassAccess.txt b/compiler/testData/ir/irText/classes/outerClassAccess.txt index fcf9279129e..70af246ff1f 100644 --- a/compiler/testData/ir/irText/classes/outerClassAccess.txt +++ b/compiler/testData/ir/irText/classes/outerClassAccess.txt @@ -1,81 +1,81 @@ FILE fqName: fileName:/outerClassAccess.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer + CONSTRUCTOR visibility:public <> () returnType:.Outer [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN name:test visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer.Inner flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + FUN name:test visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer.Inner BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[]' type=.Outer origin=null - CLASS CLASS name:Inner2 modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Inner2 flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer.Inner) returnType:.Outer.Inner.Inner2 flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer.Inner flags:[] + CALL 'public final fun foo (): kotlin.Unit declared in .Outer' type=kotlin.Unit origin=null + $this: GET_VAR ': .Outer declared in .Outer' type=.Outer origin=null + CLASS CLASS name:Inner2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Inner2 + CONSTRUCTOR visibility:public <> ($this:.Outer.Inner) returnType:.Outer.Inner.Inner2 [primary] + $outer: VALUE_PARAMETER name: type:.Outer.Inner BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner2 modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN name:test2 visibility:public modality:FINAL <> ($this:.Outer.Inner.Inner2) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer.Inner.Inner2 flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + FUN name:test2 visibility:public modality:FINAL <> ($this:.Outer.Inner.Inner2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer.Inner.Inner2 BLOCK_BODY - CALL 'FUN name:test visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner flags:[]' type=.Outer.Inner origin=null - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[]' type=.Outer origin=null - FUN name:test3 visibility:public modality:FINAL <> ($this:.Outer.Inner.Inner2, $receiver:.Outer) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer.Inner.Inner2 flags:[] - $receiver: VALUE_PARAMETER name: type:.Outer flags:[] + CALL 'public final fun test (): kotlin.Unit declared in .Outer.Inner' type=kotlin.Unit origin=null + $this: GET_VAR ': .Outer.Inner declared in .Outer.Inner' type=.Outer.Inner origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .Outer' type=kotlin.Unit origin=null + $this: GET_VAR ': .Outer declared in .Outer' type=.Outer origin=null + FUN name:test3 visibility:public modality:FINAL <> ($this:.Outer.Inner.Inner2, $receiver:.Outer) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer.Inner.Inner2 + $receiver: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public final fun foo (): kotlin.Unit declared in .Outer' type=kotlin.Unit origin=null + $this: GET_VAR ': .Outer declared in .Outer.Inner.Inner2.test3' type=.Outer origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/primaryConstructor.txt b/compiler/testData/ir/irText/classes/primaryConstructor.txt index 26179a446f2..a7a58e829e7 100644 --- a/compiler/testData/ir/irText/classes/primaryConstructor.txt +++ b/compiler/testData/ir/irText/classes/primaryConstructor.txt @@ -1,133 +1,133 @@ FILE fqName: fileName:/primaryConstructor.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test1 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test1 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + GET_VAR 'y: kotlin.Int declared in .Test1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + GET_VAR 'y: kotlin.Int declared in .Test2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test2.' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test3 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test3 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'y: kotlin.Int declared in .Test3.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[]' type=.Test3 origin=null - value: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Test3 declared in .Test3' type=.Test3 origin=null + value: GET_VAR 'x: kotlin.Int declared in .Test3.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt b/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt index 5db51c6d6ac..eac64e8d431 100644 --- a/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt +++ b/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt @@ -1,107 +1,107 @@ FILE fqName: fileName:/primaryConstructorWithSuperConstructorCall.kt - CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] + CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> () returnType:.Base [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestImplicitPrimaryConstructor modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestImplicitPrimaryConstructor flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestImplicitPrimaryConstructor flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestImplicitPrimaryConstructor modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestImplicitPrimaryConstructor + CONSTRUCTOR visibility:public <> () returnType:.TestImplicitPrimaryConstructor [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestImplicitPrimaryConstructor modality:FINAL visibility:public flags:[] superTypes:[.Base]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestImplicitPrimaryConstructor modality:FINAL visibility:public superTypes:[.Base]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestExplicitPrimaryConstructor modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestExplicitPrimaryConstructor flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestExplicitPrimaryConstructor flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestExplicitPrimaryConstructor modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestExplicitPrimaryConstructor + CONSTRUCTOR visibility:public <> () returnType:.TestExplicitPrimaryConstructor [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestExplicitPrimaryConstructor modality:FINAL visibility:public flags:[] superTypes:[.Base]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestExplicitPrimaryConstructor modality:FINAL visibility:public superTypes:[.Base]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestWithDelegatingConstructor modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestWithDelegatingConstructor flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.TestWithDelegatingConstructor flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestWithDelegatingConstructor modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestWithDelegatingConstructor + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.TestWithDelegatingConstructor [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestWithDelegatingConstructor modality:FINAL visibility:public flags:[] superTypes:[.Base]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestWithDelegatingConstructor modality:FINAL visibility:public superTypes:[.Base]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestWithDelegatingConstructor) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestWithDelegatingConstructor flags:[] + GET_VAR 'x: kotlin.Int declared in .TestWithDelegatingConstructor.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestWithDelegatingConstructor) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestWithDelegatingConstructor BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestWithDelegatingConstructor) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestWithDelegatingConstructor flags:[]' type=.TestWithDelegatingConstructor origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestWithDelegatingConstructor' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestWithDelegatingConstructor declared in .TestWithDelegatingConstructor.' type=.TestWithDelegatingConstructor origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestWithDelegatingConstructor) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestWithDelegatingConstructor flags:[] + GET_VAR 'y: kotlin.Int declared in .TestWithDelegatingConstructor.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestWithDelegatingConstructor) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestWithDelegatingConstructor BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestWithDelegatingConstructor) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestWithDelegatingConstructor flags:[]' type=.TestWithDelegatingConstructor origin=null - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestWithDelegatingConstructor flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestWithDelegatingConstructor' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestWithDelegatingConstructor declared in .TestWithDelegatingConstructor.' type=.TestWithDelegatingConstructor origin=null + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestWithDelegatingConstructor + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.TestWithDelegatingConstructor flags:[primary]' - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int, y: kotlin.Int) [primary] declared in .TestWithDelegatingConstructor' + x: GET_VAR 'x: kotlin.Int declared in .TestWithDelegatingConstructor.' type=kotlin.Int origin=null y: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt b/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt index 16276647231..fc7b5006d8d 100644 --- a/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt +++ b/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt @@ -1,97 +1,97 @@ FILE fqName: fileName:/qualifiedSuperCalls.kt - CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ILeft flags:[] - FUN name:foo visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.ILeft flags:[] + CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ILeft + FUN name:foo visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.ILeft BLOCK_BODY - PROPERTY name:bar visibility:public modality:OPEN flags:[val] - FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[val] - $this: VALUE_PARAMETER name: type:.ILeft flags:[] + PROPERTY name:bar visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.ILeft BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .ILeft' CONST Int type=kotlin.Int value=1 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IRight flags:[] - FUN name:foo visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IRight flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IRight + FUN name:foo visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IRight BLOCK_BODY - PROPERTY name:bar visibility:public modality:OPEN flags:[val] - FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[val] - $this: VALUE_PARAMETER name: type:.IRight flags:[] + PROPERTY name:bar visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.IRight BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .IRight' CONST Int type=kotlin.Int value=2 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:CBoth modality:FINAL visibility:public flags:[] superTypes:[.ILeft; .IRight] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CBoth flags:[] - CONSTRUCTOR visibility:public <> () returnType:.CBoth flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:CBoth modality:FINAL visibility:public superTypes:[.ILeft; .IRight] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CBoth + CONSTRUCTOR visibility:public <> () returnType:.CBoth [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CBoth modality:FINAL visibility:public flags:[] superTypes:[.ILeft; .IRight]' - FUN name:foo visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CBoth modality:FINAL visibility:public superTypes:[.ILeft; .IRight]' + FUN name:foo visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Unit flags:[] - FUN name:foo visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.CBoth flags:[] + FUN name:foo visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Unit + FUN name:foo visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.CBoth BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Unit flags:[]' superQualifier='CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.CBoth flags:[]' type=.ILeft origin=null - CALL 'FUN name:foo visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Unit flags:[]' superQualifier='CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.CBoth flags:[]' type=.IRight origin=null - PROPERTY name:bar visibility:public modality:OPEN flags:[val] - FUN name: visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[val] + CALL 'public open fun foo (): kotlin.Unit declared in .ILeft' superQualifier='CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null + $this: GET_VAR ': .CBoth declared in .CBoth.foo' type=.ILeft origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .IRight' superQualifier='CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null + $this: GET_VAR ': .CBoth declared in .CBoth.foo' type=.IRight origin=null + PROPERTY name:bar visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] overridden: - FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int flags:[] - FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.CBoth flags:[] + FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.CBoth BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: CALL 'FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int flags:[]' superQualifier='CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.CBoth flags:[]' type=.ILeft origin=null - other: CALL 'FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int flags:[]' superQualifier='CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.CBoth flags:[]' type=.IRight origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .CBoth' + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: CALL 'public open fun (): kotlin.Int declared in .ILeft' superQualifier='CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .CBoth declared in .CBoth.' type=.ILeft origin=null + other: CALL 'public open fun (): kotlin.Int declared in .IRight' superQualifier='CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .CBoth declared in .CBoth.' type=.IRight origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/sealedClasses.txt b/compiler/testData/ir/irText/classes/sealedClasses.txt index cf9be28ff8e..c2339b19471 100644 --- a/compiler/testData/ir/irText/classes/sealedClasses.txt +++ b/compiler/testData/ir/irText/classes/sealedClasses.txt @@ -1,113 +1,113 @@ FILE fqName: fileName:/sealedClasses.kt - CLASS CLASS name:Expr modality:SEALED visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Expr flags:[primary] + CLASS CLASS name:Expr modality:SEALED visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr + CONSTRUCTOR visibility:private <> () returnType:.Expr [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Expr modality:SEALED visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:Const modality:FINAL visibility:public flags:[] superTypes:[.Expr] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.Const flags:[] - CONSTRUCTOR visibility:public <> (number:kotlin.Double) returnType:.Expr.Const flags:[primary] - VALUE_PARAMETER name:number index:0 type:kotlin.Double flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Expr modality:SEALED visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:Const modality:FINAL visibility:public superTypes:[.Expr] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.Const + CONSTRUCTOR visibility:public <> (number:kotlin.Double) returnType:.Expr.Const [primary] + VALUE_PARAMETER name:number index:0 type:kotlin.Double BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Expr flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Const modality:FINAL visibility:public flags:[] superTypes:[.Expr]' - PROPERTY name:number visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Double visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Expr' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Const modality:FINAL visibility:public superTypes:[.Expr]' + PROPERTY name:number visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Double visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:number index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Const) returnType:kotlin.Double flags:[] - correspondingProperty: PROPERTY name:number visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Expr.Const flags:[] + GET_VAR 'number: kotlin.Double declared in .Expr.Const.' type=kotlin.Double origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Const) returnType:kotlin.Double + correspondingProperty: PROPERTY name:number visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Expr.Const BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Const) returnType:kotlin.Double flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Double visibility:public flags:[final]' type=kotlin.Double origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Expr.Const flags:[]' type=.Expr.Const origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Double declared in .Expr.Const' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Double visibility:public [final] ' type=kotlin.Double origin=null + receiver: GET_VAR ': .Expr.Const declared in .Expr.Const.' type=.Expr.Const origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Sum modality:FINAL visibility:public flags:[] superTypes:[.Expr] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.Sum flags:[] - CONSTRUCTOR visibility:public <> (e1:.Expr, e2:.Expr) returnType:.Expr.Sum flags:[primary] - VALUE_PARAMETER name:e1 index:0 type:.Expr flags:[] - VALUE_PARAMETER name:e2 index:1 type:.Expr flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Sum modality:FINAL visibility:public superTypes:[.Expr] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.Sum + CONSTRUCTOR visibility:public <> (e1:.Expr, e2:.Expr) returnType:.Expr.Sum [primary] + VALUE_PARAMETER name:e1 index:0 type:.Expr + VALUE_PARAMETER name:e2 index:1 type:.Expr BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Expr flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Sum modality:FINAL visibility:public flags:[] superTypes:[.Expr]' - PROPERTY name:e1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:e1 type:.Expr visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Expr' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Sum modality:FINAL visibility:public superTypes:[.Expr]' + PROPERTY name:e1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:e1 type:.Expr visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:e1 index:0 type:.Expr flags:[]' type=.Expr origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr flags:[] - correspondingProperty: PROPERTY name:e1 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Expr.Sum flags:[] + GET_VAR 'e1: .Expr declared in .Expr.Sum.' type=.Expr origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr + correspondingProperty: PROPERTY name:e1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Expr.Sum BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e1 type:.Expr visibility:public flags:[final]' type=.Expr origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Expr.Sum flags:[]' type=.Expr.Sum origin=null - PROPERTY name:e2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:e2 type:.Expr visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): .Expr declared in .Expr.Sum' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e1 type:.Expr visibility:public [final] ' type=.Expr origin=null + receiver: GET_VAR ': .Expr.Sum declared in .Expr.Sum.' type=.Expr.Sum origin=null + PROPERTY name:e2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:e2 type:.Expr visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:e2 index:1 type:.Expr flags:[]' type=.Expr origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr flags:[] - correspondingProperty: PROPERTY name:e2 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Expr.Sum flags:[] + GET_VAR 'e2: .Expr declared in .Expr.Sum.' type=.Expr origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr + correspondingProperty: PROPERTY name:e2 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Expr.Sum BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e2 type:.Expr visibility:public flags:[final]' type=.Expr origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Expr.Sum flags:[]' type=.Expr.Sum origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): .Expr declared in .Expr.Sum' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e2 type:.Expr visibility:public [final] ' type=.Expr origin=null + receiver: GET_VAR ': .Expr.Sum declared in .Expr.Sum.' type=.Expr.Sum origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:NotANumber modality:FINAL visibility:public flags:[] superTypes:[.Expr] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.NotANumber flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Expr.NotANumber flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:NotANumber modality:FINAL visibility:public superTypes:[.Expr] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.NotANumber + CONSTRUCTOR visibility:private <> () returnType:.Expr.NotANumber [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Expr flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:NotANumber modality:FINAL visibility:public flags:[] superTypes:[.Expr]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Expr' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:NotANumber modality:FINAL visibility:public superTypes:[.Expr]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt b/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt index e66e8675df1..e8228299654 100644 --- a/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt +++ b/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt @@ -1,92 +1,92 @@ FILE fqName: fileName:/secondaryConstructorWithInitializersFromClassBody.kt - CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] + CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> () returnType:.Base [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestProperty modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestProperty flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestProperty modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestProperty + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestProperty) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestProperty flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestProperty) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestProperty BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestProperty) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestProperty flags:[]' type=.TestProperty origin=null - CONSTRUCTOR visibility:public <> () returnType:.TestProperty flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestProperty' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestProperty declared in .TestProperty.' type=.TestProperty origin=null + CONSTRUCTOR visibility:public <> () returnType:.TestProperty BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestProperty modality:FINAL visibility:public flags:[] superTypes:[.Base]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestProperty modality:FINAL visibility:public superTypes:[.Base]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInitBlock modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitBlock flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitBlock) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestInitBlock flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInitBlock modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitBlock + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitBlock) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestInitBlock BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestInitBlock) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestInitBlock flags:[]' type=.TestInitBlock origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestInitBlock' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestInitBlock declared in .TestInitBlock.' type=.TestInitBlock origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInitBlock flags:[]' type=.TestInitBlock origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .TestInitBlock declared in .TestInitBlock' type=.TestInitBlock origin=null value: CONST Int type=kotlin.Int value=0 - CONSTRUCTOR visibility:public <> () returnType:.TestInitBlock flags:[] + CONSTRUCTOR visibility:public <> () returnType:.TestInitBlock BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitBlock modality:FINAL visibility:public flags:[] superTypes:[.Base]' - CONSTRUCTOR visibility:public <> (z:kotlin.Any) returnType:.TestInitBlock flags:[] - VALUE_PARAMETER name:z index:0 type:kotlin.Any flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitBlock modality:FINAL visibility:public superTypes:[.Base]' + CONSTRUCTOR visibility:public <> (z:kotlin.Any) returnType:.TestInitBlock + VALUE_PARAMETER name:z index:0 type:kotlin.Any BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitBlock modality:FINAL visibility:public flags:[] superTypes:[.Base]' - CONSTRUCTOR visibility:public <> (y:kotlin.Int) returnType:.TestInitBlock flags:[] - VALUE_PARAMETER name:y index:0 type:kotlin.Int flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitBlock modality:FINAL visibility:public superTypes:[.Base]' + CONSTRUCTOR visibility:public <> (y:kotlin.Int) returnType:.TestInitBlock + VALUE_PARAMETER name:y index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.TestInitBlock flags:[]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .TestInitBlock' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/secondaryConstructors.txt b/compiler/testData/ir/irText/classes/secondaryConstructors.txt index ea652684874..86ffd9a7e2a 100644 --- a/compiler/testData/ir/irText/classes/secondaryConstructors.txt +++ b/compiler/testData/ir/irText/classes/secondaryConstructors.txt @@ -1,25 +1,25 @@ FILE fqName: fileName:/secondaryConstructors.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.C flags:[]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int) declared in .C' x: CONST Int type=kotlin.Int value=0 - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.C flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.C + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/classes/superCalls.txt b/compiler/testData/ir/irText/classes/superCalls.txt index 8eed2ae14b2..26cb147c0fe 100644 --- a/compiler/testData/ir/irText/classes/superCalls.txt +++ b/compiler/testData/ir/irText/classes/superCalls.txt @@ -1,70 +1,70 @@ FILE fqName: fileName:/superCalls.kt - CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] + CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> () returnType:.Base [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Base flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Base BLOCK_BODY - PROPERTY name:bar visibility:public modality:OPEN flags:[val] - FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.String visibility:public flags:[final] + PROPERTY name:bar visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.String visibility:public [final] EXPRESSION_BODY CONST String type=kotlin.String value="" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[val] - $this: VALUE_PARAMETER name: type:.Base flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.String + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.Base BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Base flags:[]' type=.Base origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Derived modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Derived flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived + CONSTRUCTOR visibility:public <> () returnType:.Derived [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public flags:[] superTypes:[.Base]' - FUN name:foo visibility:public modality:OPEN <> ($this:.Derived) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[.Base]' + FUN name:foo visibility:public modality:OPEN <> ($this:.Derived) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Derived flags:[] + FUN name:foo visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Derived BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.Unit flags:[]' superQualifier='CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.Derived flags:[]' type=.Base origin=null - PROPERTY name:bar visibility:public modality:OPEN flags:[val] - FUN name: visibility:public modality:OPEN <> ($this:.Derived) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[val] + CALL 'public open fun foo (): kotlin.Unit declared in .Base' superQualifier='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null + $this: GET_VAR ': .Derived declared in .Derived.foo' type=.Base origin=null + PROPERTY name:bar visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.Derived) returnType:kotlin.String + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Derived flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Derived BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.Derived) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Base) returnType:kotlin.String flags:[]' superQualifier='CLASS CLASS name:Base modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Derived flags:[]' type=.Base origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Derived' + CALL 'public open fun (): kotlin.String declared in .Base' superQualifier='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Derived declared in .Derived.' type=.Base origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt index d055e6f005f..452e53459bd 100644 --- a/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt @@ -1,106 +1,106 @@ FILE fqName: fileName:/annotationsInAnnotationArguments.kt - CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A1 flags:[] + GET_VAR 'x: kotlin.Int declared in .A1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A1 flags:[]' type=.A1 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A1 declared in .A1.' type=.A1 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 flags:[] - CONSTRUCTOR visibility:public <> (a:.A1) returnType:.A2 flags:[primary] - VALUE_PARAMETER name:a index:0 type:.A1 flags:[] - PROPERTY name:a visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:a type:.A1 visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 + CONSTRUCTOR visibility:public <> (a:.A1) returnType:.A2 [primary] + VALUE_PARAMETER name:a index:0 type:.A1 + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:.A1 visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A1 flags:[]' type=.A1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A2) returnType:.A1 flags:[] - correspondingProperty: PROPERTY name:a visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A2 flags:[] + GET_VAR 'a: .A1 declared in .A2.' type=.A1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A2) returnType:.A1 + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A2) returnType:.A1 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:.A1 visibility:public flags:[final]' type=.A1 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A2 flags:[]' type=.A2 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): .A1 declared in .A2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:.A1 visibility:public [final] ' type=.A1 origin=null + receiver: GET_VAR ': .A2 declared in .A2.' type=.A2 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:AA modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AA flags:[] - CONSTRUCTOR visibility:public <> (xs:kotlin.Array<.A1>) returnType:.AA flags:[primary] - VALUE_PARAMETER name:xs index:0 type:kotlin.Array<.A1> flags:[] - PROPERTY name:xs visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<.A1> visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:AA modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AA + CONSTRUCTOR visibility:public <> (xs:kotlin.Array<.A1>) returnType:.AA [primary] + VALUE_PARAMETER name:xs index:0 type:kotlin.Array<.A1> + PROPERTY name:xs visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<.A1> visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:xs index:0 type:kotlin.Array<.A1> flags:[]' type=kotlin.Array<.A1> origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.AA) returnType:kotlin.Array<.A1> flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.AA flags:[] + GET_VAR 'xs: kotlin.Array<.A1> declared in .AA.' type=kotlin.Array<.A1> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.AA) returnType:kotlin.Array<.A1> + correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.AA BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.AA) returnType:kotlin.Array<.A1> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<.A1> visibility:public flags:[final]' type=kotlin.Array<.A1> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.AA flags:[]' type=.AA origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array<.A1> declared in .AA' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<.A1> visibility:public [final] ' type=kotlin.Array<.A1> origin=null + receiver: GET_VAR ': .AA declared in .AA.' type=.AA origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (a:.A1) returnType:.A2 flags:[primary]' type=.A2 origin=null - a: CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (a: .A1) [primary] declared in .A2' type=.A2 origin=null + a: CALL 'public constructor (x: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null x: CONST Int type=kotlin.Int value=42 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array<.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (xs: kotlin.Array<.A1>) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array<.A1> varargElementType=.A1 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null x: CONST Int type=kotlin.Int value=1 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null x: CONST Int type=kotlin.Int value=2 - CALL 'CONSTRUCTOR visibility:public <> (a:.A1) returnType:.A2 flags:[primary]' type=.A2 origin=null - a: CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (a: .A1) [primary] declared in .A2' type=.A2 origin=null + a: CALL 'public constructor (x: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null x: CONST Int type=kotlin.Int value=42 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array<.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (xs: kotlin.Array<.A1>) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array<.A1> varargElementType=.A1 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null x: CONST Int type=kotlin.Int value=1 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null x: CONST Int type=kotlin.Int value=2 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/annotationsWithDefaultParameterValues.txt b/compiler/testData/ir/irText/declarations/annotations/annotationsWithDefaultParameterValues.txt index 29f84630779..e91605b1379 100644 --- a/compiler/testData/ir/irText/declarations/annotations/annotationsWithDefaultParameterValues.txt +++ b/compiler/testData/ir/irText/declarations/annotations/annotationsWithDefaultParameterValues.txt @@ -1,70 +1,70 @@ FILE fqName: fileName:/annotationsWithDefaultParameterValues.kt - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String EXPRESSION_BODY CONST String type=kotlin.String value="" - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'x: kotlin.String declared in .A.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'y: kotlin.Int declared in .A.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String, y: kotlin.Int) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="abc" y: CONST Int type=kotlin.Int value=123 BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String, y: kotlin.Int) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="def" BLOCK_BODY - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String, y: kotlin.Int) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="ghi" BLOCK_BODY - FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String, y: kotlin.Int) [primary] declared in .A' type=.A origin=null y: CONST Int type=kotlin.Int value=456 BLOCK_BODY - FUN name:test5 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test5 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String, y: kotlin.Int) [primary] declared in .A' type=.A origin=null BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/annotationsWithVarargParameters.txt b/compiler/testData/ir/irText/declarations/annotations/annotationsWithVarargParameters.txt index 92455817567..a2e87398ba6 100644 --- a/compiler/testData/ir/irText/declarations/annotations/annotationsWithVarargParameters.txt +++ b/compiler/testData/ir/irText/declarations/annotations/annotationsWithVarargParameters.txt @@ -1,47 +1,47 @@ FILE fqName: fileName:/annotationsWithVarargParameters.kt - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary] - VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg] - PROPERTY name:xs visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A [primary] + VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + PROPERTY name:xs visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg]' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'xs: kotlin.Array [vararg] declared in .A.' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Array + correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public flags:[final]' type=kotlin.Array origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public [final] ' type=kotlin.Array origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A' type=.A origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="abc" CONST String type=kotlin.String value="def" BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A' type=.A origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="abc" BLOCK_BODY - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A' type=.A origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/arrayInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/arrayInAnnotationArguments.txt index 83331af9d3b..0352e793e50 100644 --- a/compiler/testData/ir/irText/declarations/annotations/arrayInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/arrayInAnnotationArguments.txt @@ -1,101 +1,101 @@ FILE fqName: fileName:/arrayInAnnotationArguments.kt - CLASS ANNOTATION_CLASS name:TestAnnWithIntArray modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnWithIntArray flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.IntArray flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnnWithIntArray modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnWithIntArray + CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.IntArray + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnnWithIntArray) returnType:kotlin.IntArray flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnnWithIntArray flags:[] + GET_VAR 'x: kotlin.IntArray declared in .TestAnnWithIntArray.' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnnWithIntArray) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnnWithIntArray BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnnWithIntArray) returnType:kotlin.IntArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public flags:[final]' type=kotlin.IntArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnnWithIntArray flags:[]' type=.TestAnnWithIntArray origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.IntArray declared in .TestAnnWithIntArray' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public [final] ' type=kotlin.IntArray origin=null + receiver: GET_VAR ': .TestAnnWithIntArray declared in .TestAnnWithIntArray.' type=.TestAnnWithIntArray origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:TestAnnWithStringArray modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnWithStringArray flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Array flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Array visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:TestAnnWithStringArray modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnWithStringArray + CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Array + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Array visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Array flags:[]' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnnWithStringArray) returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnnWithStringArray flags:[] + GET_VAR 'x: kotlin.Array declared in .TestAnnWithStringArray.' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnnWithStringArray) returnType:kotlin.Array + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnnWithStringArray BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnnWithStringArray) returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Array visibility:public flags:[final]' type=kotlin.Array origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnnWithStringArray flags:[]' type=.TestAnnWithStringArray origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in .TestAnnWithStringArray' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Array visibility:public [final] ' type=kotlin.Array origin=null + receiver: GET_VAR ': .TestAnnWithStringArray declared in .TestAnnWithStringArray.' type=.TestAnnWithStringArray origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' type=.TestAnnWithIntArray origin=null + CALL 'public constructor (x: kotlin.IntArray) [primary] declared in .TestAnnWithIntArray' type=.TestAnnWithIntArray origin=null x: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' type=.TestAnnWithStringArray origin=null + CALL 'public constructor (x: kotlin.Array) [primary] declared in .TestAnnWithStringArray' type=.TestAnnWithStringArray origin=null x: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="a" CONST String type=kotlin.String value="b" CONST String type=kotlin.String value="c" - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' type=.TestAnnWithIntArray origin=null + CALL 'public constructor (x: kotlin.IntArray) [primary] declared in .TestAnnWithIntArray' type=.TestAnnWithIntArray origin=null x: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' type=.TestAnnWithStringArray origin=null + CALL 'public constructor (x: kotlin.Array) [primary] declared in .TestAnnWithStringArray' type=.TestAnnWithStringArray origin=null x: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="a" CONST String type=kotlin.String value="b" CONST String type=kotlin.String value="c" BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' type=.TestAnnWithIntArray origin=null + CALL 'public constructor (x: kotlin.IntArray) [primary] declared in .TestAnnWithIntArray' type=.TestAnnWithIntArray origin=null x: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 CONST Int type=kotlin.Int value=5 CONST Int type=kotlin.Int value=6 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' type=.TestAnnWithStringArray origin=null + CALL 'public constructor (x: kotlin.Array) [primary] declared in .TestAnnWithStringArray' type=.TestAnnWithStringArray origin=null x: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="d" CONST String type=kotlin.String value="e" CONST String type=kotlin.String value="f" - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' type=.TestAnnWithIntArray origin=null + CALL 'public constructor (x: kotlin.IntArray) [primary] declared in .TestAnnWithIntArray' type=.TestAnnWithIntArray origin=null x: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 CONST Int type=kotlin.Int value=5 CONST Int type=kotlin.Int value=6 - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' type=.TestAnnWithStringArray origin=null + CALL 'public constructor (x: kotlin.Array) [primary] declared in .TestAnnWithStringArray' type=.TestAnnWithStringArray origin=null x: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="d" CONST String type=kotlin.String value="e" diff --git a/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.txt b/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.txt index e80afe5f77a..751420683c2 100644 --- a/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.txt +++ b/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.txt @@ -1,144 +1,144 @@ FILE fqName: fileName:/classLiteralInAnnotation.kt - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (klass:kotlin.reflect.KClass<*>) returnType:.A flags:[primary] - VALUE_PARAMETER name:klass index:0 type:kotlin.reflect.KClass<*> flags:[] - PROPERTY name:klass visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:klass type:kotlin.reflect.KClass<*> visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (klass:kotlin.reflect.KClass<*>) returnType:.A [primary] + VALUE_PARAMETER name:klass index:0 type:kotlin.reflect.KClass<*> + PROPERTY name:klass visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:klass type:kotlin.reflect.KClass<*> visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:klass index:0 type:kotlin.reflect.KClass<*> flags:[]' type=kotlin.reflect.KClass<*> origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.reflect.KClass<*> flags:[] - correspondingProperty: PROPERTY name:klass visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'klass: kotlin.reflect.KClass<*> declared in .A.' type=kotlin.reflect.KClass<*> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.reflect.KClass<*> + correspondingProperty: PROPERTY name:klass visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.reflect.KClass<*> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:klass type:kotlin.reflect.KClass<*> visibility:public flags:[final]' type=kotlin.reflect.KClass<*> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KClass<*> declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:klass type:kotlin.reflect.KClass<*> visibility:public [final] ' type=kotlin.reflect.KClass<*> origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (klass:kotlin.reflect.KClass<*>) returnType:.A flags:[primary]' type=.A origin=null - klass: CLASS_REFERENCE 'CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.C> + CALL 'public constructor (klass: kotlin.reflect.KClass<*>) [primary] declared in .A' type=.A origin=null + klass: CLASS_REFERENCE 'CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.C> BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Any flags:[inline] + FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Any [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Any flags:[inline]' - BLOCK type=.test2.<.test2.T> origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] + RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.Any [inline] declared in ' + BLOCK type=.test2..test2> origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any] annotations: - CALL 'CONSTRUCTOR visibility:public <> (klass:kotlin.reflect.KClass<*>) returnType:.A flags:[primary]' type=.A origin=null - klass: CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:[] superTypes:[]' type=kotlin.reflect.KClass - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test2.<.test2.T> flags:[] - CONSTRUCTOR visibility:public <> () returnType:.test2.<.test2.T> flags:[primary] + CALL 'public constructor (klass: kotlin.reflect.KClass<*>) [primary] declared in .A' type=.A origin=null + klass: CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public superTypes:[]' type=kotlin.reflect.KClass + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test2..test2> + CONSTRUCTOR visibility:public <> () returnType:.test2..test2> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.test2.<.test2.T> flags:[primary]' type=.test2.<.test2.T> origin=OBJECT_LITERAL - PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Any flags:[inline] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .test2.' type=.test2..test2> origin=OBJECT_LITERAL + PROPERTY name:test3 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Any [inline] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Any flags:[inline]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any [inline] declared in ' BLOCK type=.. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any] annotations: - CALL 'CONSTRUCTOR visibility:public <> (klass:kotlin.reflect.KClass<*>) returnType:.A flags:[primary]' type=.A origin=null - klass: CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:[] superTypes:[]' type=kotlin.reflect.KClass - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.. flags:[primary] + CALL 'public constructor (klass: kotlin.reflect.KClass<*>) [primary] declared in .A' type=.A origin=null + klass: CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public superTypes:[]' type=kotlin.reflect.KClass + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.. + CONSTRUCTOR visibility:public <> () returnType:.. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.. flags:[primary]' type=.. origin=OBJECT_LITERAL - FUN name: visibility:public modality:FINAL ($receiver:..T, v:kotlin.Any) returnType:kotlin.Unit flags:[inline] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in ..' type=.. origin=OBJECT_LITERAL + FUN name: visibility:public modality:FINAL ($receiver:T of ., v:kotlin.Any) returnType:kotlin.Unit [inline] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] - VALUE_PARAMETER name:v index:0 type:kotlin.Any flags:[] + $receiver: VALUE_PARAMETER name: type:T of . + VALUE_PARAMETER name:v index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=.. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any] annotations: - CALL 'CONSTRUCTOR visibility:public <> (klass:kotlin.reflect.KClass<*>) returnType:.A flags:[primary]' type=.A origin=null - klass: CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:[] superTypes:[]' type=kotlin.reflect.KClass - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.. flags:[primary] + CALL 'public constructor (klass: kotlin.reflect.KClass<*>) [primary] declared in .A' type=.A origin=null + klass: CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public superTypes:[]' type=kotlin.reflect.KClass + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.. + CONSTRUCTOR visibility:public <> () returnType:.. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.. flags:[primary]' type=.. origin=OBJECT_LITERAL + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in ..' type=.. origin=OBJECT_LITERAL diff --git a/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt index 7e9671f24ce..a60de752acb 100644 --- a/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt @@ -1,208 +1,208 @@ FILE fqName: fileName:/classesWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="class" - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass + CONSTRUCTOR visibility:public <> () returnType:.TestClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="interface" - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:TestObject modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:TestObject modality:FINAL visibility:public superTypes:[kotlin.Any] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="object" - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestObject flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestObject flags:[primary] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestObject + CONSTRUCTOR visibility:private <> () returnType:.TestObject [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:TestObject modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:TestObject modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS OBJECT name:TestCompanion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS OBJECT name:TestCompanion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="companion" - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.TestCompanion flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Host.TestCompanion flags:[primary] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.TestCompanion + CONSTRUCTOR visibility:private <> () returnType:.Host.TestCompanion [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:TestCompanion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:TestCompanion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum>] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum>] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="enum" - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum flags:[primary] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum + CONSTRUCTOR visibility:private <> () returnType:.TestEnum [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnum - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum>]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any flags:[] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestEnum>]' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + VALUE_PARAMETER name:other index:0 type:.TestEnum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ANNOTATION_CLASS name:TestAnnotation modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] + CLASS ANNOTATION_CLASS name:TestAnnotation modality:FINAL visibility:public superTypes:[kotlin.Annotation] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="annotation" - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnotation flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestAnnotation flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnnotation + CONSTRUCTOR visibility:public <> () returnType:.TestAnnotation [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt index 001a71975e3..f7edc8a5f59 100644 --- a/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt @@ -1,48 +1,48 @@ FILE fqName: fileName:/constExpressionsInAnnotationArguments.kt - PROPERTY name:ONE visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:ONE type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:ONE visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:ONE type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:ONE visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:ONE visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ONE type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ONE type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'x: kotlin.Int declared in .A.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .A' type=.A origin=null x: CONST Int type=kotlin.Int value=1 BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .A' type=.A origin=null x: CONST Int type=kotlin.Int value=2 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/constructorsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/constructorsWithAnnotations.txt index 21e69e0d6f6..26a17076078 100644 --- a/compiler/testData/ir/irText/declarations/annotations/constructorsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/constructorsWithAnnotations.txt @@ -1,58 +1,58 @@ FILE fqName: fileName:/constructorsWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.Int declared in .TestAnn.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass + CONSTRUCTOR visibility:public <> () returnType:.TestClass [primary] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST Int type=kotlin.Int value=1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestClass flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestClass annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST Int type=kotlin.Int value=2 - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .TestClass' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt index 5837cd2d029..e3d19a4b0f5 100644 --- a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt @@ -1,39 +1,39 @@ FILE fqName: fileName:/delegateFieldWithAnnotations.kt - CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ann flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ann + CONSTRUCTOR visibility:public <> () returnType:.Ann [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private flags:[final,static] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null + CALL 'public constructor () [primary] declared in .Ann' type=.Ann origin=null EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int initializer: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1$delegate' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test1$delegate' type=kotlin.Function0 origin=LAMBDA + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.Lazy, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private flags:[final,static]' type=kotlin.Lazy origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static] ' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test1: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + property: PROPERTY_REFERENCE 'PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE diff --git a/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt index d28ac7e1450..14514cd1506 100644 --- a/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt @@ -1,133 +1,133 @@ FILE fqName: fileName:/delegatedPropertyAccessorsWithAnnotations.kt - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'x: kotlin.String declared in .A.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Cell modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Cell flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell + CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Cell [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Cell flags:[] + GET_VAR 'value: kotlin.Int declared in .Cell.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.Int + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Cell BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Cell flags:[]' type=.Cell origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Cell flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Cell' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Cell declared in .Cell.' type=.Cell origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Cell + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Cell flags:[]' type=.Cell origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:getValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Cell flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:kProp index:1 type:kotlin.Any? flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Cell declared in .Cell.' type=.Cell origin=null + value: GET_VAR ': kotlin.Int declared in .Cell.' type=kotlin.Int origin=null + FUN name:getValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Cell + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:kProp index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Cell flags:[]' type=.Cell origin=null - FUN name:setValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?, newValue:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Cell flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:kProp index:1 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:newValue index:2 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any?): kotlin.Int declared in .Cell' + CALL 'public final fun (): kotlin.Int declared in .Cell' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Cell declared in .Cell.getValue' type=.Cell origin=null + FUN name:setValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?, newValue:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Cell + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:kProp index:1 type:kotlin.Any? + VALUE_PARAMETER name:newValue index:2 type:kotlin.Int BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.Cell flags:[]' type=.Cell origin=null - : GET_VAR 'VALUE_PARAMETER name:newValue index:2 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Cell' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .Cell declared in .Cell.setValue' type=.Cell origin=null + : GET_VAR 'newValue: kotlin.Int declared in .Cell.setValue' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:test1$delegate type:.Cell visibility:private flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:test1$delegate type:.Cell visibility:private [final,static] EXPRESSION_BODY - CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Cell flags:[primary]' type=.Cell origin=null + CALL 'public constructor (value: kotlin.Int) [primary] declared in .Cell' type=.Cell origin=null value: CONST Int type=kotlin.Int value=1 - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="test1.get" - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:.Cell visibility:private flags:[final,static]' type=.Cell origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any?): kotlin.Int declared in .Cell' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:.Cell visibility:private [final,static] ' type=.Cell origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'test1: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:test2 visibility:public modality:FINAL flags:[delegated,var] - FIELD DELEGATE name:test2$delegate type:.Cell visibility:private flags:[final,static] + kProp: PROPERTY_REFERENCE 'PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:test2 visibility:public modality:FINAL [delegated,var] + FIELD DELEGATE name:test2$delegate type:.Cell visibility:private [final,static] EXPRESSION_BODY - CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Cell flags:[primary]' type=.Cell origin=null + CALL 'public constructor (value: kotlin.Int) [primary] declared in .Cell' type=.Cell origin=null value: CONST Int type=kotlin.Int value=2 - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="test2.get" - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[delegated,var] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [delegated,var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:.Cell visibility:private flags:[final,static]' type=.Cell origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any?): kotlin.Int declared in .Cell' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:.Cell visibility:private [final,static] ' type=.Cell origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'test2: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] + kProp: PROPERTY_REFERENCE 'PROPERTY name:test2 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="test2.set" - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[delegated,var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [delegated,var] + VALUE_PARAMETER name: index:0 type:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="test2.set.param" BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:setValue visibility:public modality:FINAL <> ($this:.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?, newValue:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:.Cell visibility:private flags:[final,static]' type=.Cell origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.Int): kotlin.Unit declared in ' + CALL 'public final fun setValue (thisRef: kotlin.Any?, kProp: kotlin.Any?, newValue: kotlin.Int): kotlin.Unit declared in .Cell' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:.Cell visibility:private [final,static] ' type=.Cell origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'test2: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - newValue: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + kProp: PROPERTY_REFERENCE 'PROPERTY name:test2 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + newValue: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt index 61775a1cf36..902afe1048e 100644 --- a/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt @@ -1,157 +1,157 @@ FILE fqName: fileName:/enumEntriesWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ENUM_CLASS name:TestEnum modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ENUM_CLASS name:TestEnum modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestEnum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum + CONSTRUCTOR visibility:private <> () returnType:.TestEnum [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .TestEnum - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestEnum>]' ENUM_ENTRY name:ENTRY1 annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="ENTRY1" - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum' ENUM_ENTRY name:ENTRY2 annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="ENTRY2" - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum.ENTRY2 flags:[primary]' - class: CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:public flags:[] superTypes:[.TestEnum] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum.ENTRY2' + class: CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:public superTypes:[.TestEnum] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="ENTRY2" - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum.ENTRY2 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.TestEnum.ENTRY2 flags:[primary] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum.ENTRY2 + CONSTRUCTOR visibility:private <> () returnType:.TestEnum.ENTRY2 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:public flags:[] superTypes:[.TestEnum]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestEnum' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:public superTypes:[.TestEnum]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum.ENTRY2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestEnum.ENTRY2 flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum.ENTRY2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestEnum.ENTRY2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestEnum.ENTRY2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestEnum.ENTRY2 flags:[]' type=.TestEnum.ENTRY2 origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestEnum.ENTRY2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestEnum.ENTRY2 declared in .TestEnum.ENTRY2.' type=.TestEnum.ENTRY2 origin=null + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + VALUE_PARAMETER name:other index:0 type:.TestEnum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:java.lang.Class<.TestEnum?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:.TestEnum) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:.TestEnum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + VALUE_PARAMETER name:other index:0 type:.TestEnum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestEnum>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestEnum> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestEnum> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestEnum + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt index 5a086ec3cc8..e8bed2cb308 100644 --- a/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/enumsInAnnotationArguments.txt @@ -1,96 +1,96 @@ FILE fqName: fileName:/enumsInAnnotationArguments.kt - CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.En flags:[] - CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary] + CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<.En>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.En + CONSTRUCTOR visibility:private <> () returnType:.En [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .En - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<.En>]' ENUM_ENTRY name:A - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .En' ENUM_ENTRY name:B - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .En' ENUM_ENTRY name:C - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .En' ENUM_ENTRY name:D - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Any flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .En' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:java.lang.Class<.En?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:java.lang.Class<.En?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:.En) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:.En) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - VALUE_PARAMETER name:other index:0 type:.En flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + VALUE_PARAMETER name:other index:0 type:.En + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.En>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.En>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:.En) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:.En flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.En visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:.En) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:.En + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:.En visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.En flags:[]' type=.En origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:.En flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: .En declared in .TestAnn.' type=.En origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:.En + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:.En flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.En visibility:public flags:[final]' type=.En origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): .En declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.En visibility:public [final] ' type=.En origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:.En) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: .En) [primary] declared in .TestAnn' type=.TestAnn origin=null x: GET_ENUM 'ENUM_ENTRY name:A' type=.En BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/fieldsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/fieldsWithAnnotations.txt index a03e172d177..85e0c3eb808 100644 --- a/compiler/testData/ir/irText/declarations/annotations/fieldsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/fieldsWithAnnotations.txt @@ -1,59 +1,59 @@ FILE fqName: fileName:/fieldsWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:testVal visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public flags:[final,static] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:testVal visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public [final,static] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="testVal.field" EXPRESSION_BODY CONST String type=kotlin.String value="a val" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:testVar visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:testVar type:kotlin.String visibility:public flags:[static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:testVar visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:testVar type:kotlin.String visibility:public [static] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="testVar.field" EXPRESSION_BODY CONST String type=kotlin.String value="a var" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testVar visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testVar visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVar type:kotlin.String visibility:public flags:[static]' type=kotlin.String origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.String) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testVar visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVar type:kotlin.String visibility:public [static] ' type=kotlin.String origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testVar visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.String BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVar type:kotlin.String visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVar type:kotlin.String visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt index 5f8cf4b951e..9e7c784fd59 100644 --- a/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt @@ -1,36 +1,36 @@ FILE fqName:test fileName:/fileAnnotations.kt annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:test.A flags:[primary]' type=test.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in test.A' type=test.A origin=null x: CONST String type=kotlin.String value="File annotation" - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] annotations: - CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (allowedTargets:kotlin.Array) returnType:kotlin.annotation.Target flags:[primary]' type=kotlin.annotation.Target origin=null + CALL 'public constructor (vararg allowedTargets: kotlin.annotation.AnnotationTarget) [primary] declared in kotlin.annotation.Target' type=kotlin.annotation.Target origin=null allowedTargets: VARARG type=kotlin.Array varargElementType=kotlin.annotation.AnnotationTarget GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:FILE' type=kotlin.annotation.AnnotationTarget - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.A flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:test.A flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.A + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:test.A [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.A) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:test.A flags:[] + GET_VAR 'x: kotlin.String declared in test.A.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.A) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:test.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.A) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:test.A flags:[]' type=test.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in test.A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': test.A declared in test.A.' type=test.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt index 7313c68cd2e..50d2605778f 100644 --- a/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt @@ -1,34 +1,34 @@ FILE fqName: fileName:/functionsWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.Int declared in .TestAnn.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:testSimpleFunction visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:testSimpleFunction visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.Int) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST Int type=kotlin.Int value=42 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/javaAnnotation.txt b/compiler/testData/ir/irText/declarations/annotations/javaAnnotation.txt index c779436feeb..278a1a1ca59 100644 --- a/compiler/testData/ir/irText/declarations/annotations/javaAnnotation.txt +++ b/compiler/testData/ir/irText/declarations/annotations/javaAnnotation.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/javaAnnotation.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public/*package*/ <> (value:kotlin.String, i:kotlin.Int) returnType:.JavaAnn flags:[primary]' type=.JavaAnn origin=null + CALL 'public/*package*/ constructor (value: kotlin.String, i: kotlin.Int) [primary] declared in .JavaAnn' type=.JavaAnn origin=null BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public/*package*/ <> (value:kotlin.String, i:kotlin.Int) returnType:.JavaAnn flags:[primary]' type=.JavaAnn origin=null + CALL 'public/*package*/ constructor (value: kotlin.String, i: kotlin.Int) [primary] declared in .JavaAnn' type=.JavaAnn origin=null value: CONST String type=kotlin.String value="abc" i: CONST Int type=kotlin.Int value=123 BLOCK_BODY - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public/*package*/ <> (value:kotlin.String, i:kotlin.Int) returnType:.JavaAnn flags:[primary]' type=.JavaAnn origin=null + CALL 'public/*package*/ constructor (value: kotlin.String, i: kotlin.Int) [primary] declared in .JavaAnn' type=.JavaAnn origin=null value: CONST String type=kotlin.String value="abc" i: CONST Int type=kotlin.Int value=123 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt index a873dcbf1f4..392c9093421 100644 --- a/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt @@ -1,53 +1,53 @@ FILE fqName: fileName:/localDelegatedPropertiesWithAnnotations.kt - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'x: kotlin.String declared in .A.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:foo visibility:public modality:FINAL <> (m:kotlin.collections.Map) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:m index:0 type:kotlin.collections.Map flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> (m:kotlin.collections.Map) returnType:kotlin.Unit + VALUE_PARAMETER name:m index:0 type:kotlin.collections.Map BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:test type:kotlin.Int flags:val annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="foo/test" - VAR DELEGATE name:test$delegate type:kotlin.Lazy flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' type=kotlin.Lazy origin=null + VAR DELEGATE name:test$delegate type:kotlin.Lazy [val] + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int initializer: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .foo' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .foo' type=kotlin.Function0 origin=LAMBDA + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.Lazy, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .foo' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.Int - $receiver: GET_VAR 'VAR DELEGATE name:test$delegate type:kotlin.Lazy flags:[val]' type=kotlin.Lazy origin=null + $receiver: GET_VAR 'val test$delegate: kotlin.Lazy [val] declared in .foo' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'test: Int' delegate='VAR DELEGATE name:test$delegate type:kotlin.Lazy flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'test: Int' delegate='val test$delegate: kotlin.Lazy [val] declared in .foo' getter='local final fun (): kotlin.Int declared in .foo' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE diff --git a/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt b/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt index 47bc191e3fa..3e5cba7f267 100644 --- a/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt +++ b/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt @@ -1,61 +1,61 @@ FILE fqName: fileName:/multipleAnnotationsInSquareBrackets.kt - CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A1 flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 + CONSTRUCTOR visibility:public <> () returnType:.A1 [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A2 flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 + CONSTRUCTOR visibility:public <> () returnType:.A2 [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:A3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A3 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A3 flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:A3 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A3 + CONSTRUCTOR visibility:public <> () returnType:.A3 [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A1 flags:[primary]' type=.A1 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A2 flags:[primary]' type=.A2 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A3 flags:[primary]' type=.A3 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A1 flags:[primary]' type=.A1 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A2 flags:[primary]' type=.A2 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A3 flags:[primary]' type=.A3 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A1 flags:[primary]' type=.A1 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A2 flags:[primary]' type=.A2 origin=null - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A3 flags:[primary]' type=.A3 origin=null + CALL 'public constructor () [primary] declared in .A1' type=.A1 origin=null + CALL 'public constructor () [primary] declared in .A2' type=.A2 origin=null + CALL 'public constructor () [primary] declared in .A3' type=.A3 origin=null + CALL 'public constructor () [primary] declared in .A1' type=.A1 origin=null + CALL 'public constructor () [primary] declared in .A2' type=.A2 origin=null + CALL 'public constructor () [primary] declared in .A3' type=.A3 origin=null + CALL 'public constructor () [primary] declared in .A1' type=.A1 origin=null + CALL 'public constructor () [primary] declared in .A2' type=.A2 origin=null + CALL 'public constructor () [primary] declared in .A3' type=.A3 origin=null BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt index b49dba18e09..cc1abdf57c4 100644 --- a/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt @@ -1,50 +1,50 @@ FILE fqName: fileName:/primaryConstructorParameterWithAnnotations.kt - CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ann flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ann + CONSTRUCTOR visibility:public <> () returnType:.Ann [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null + CALL 'public constructor () [primary] declared in .Ann' type=.Ann origin=null BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test flags:[] + GET_VAR 'x: kotlin.Int declared in .Test.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test declared in .Test.' type=.Test origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt index 5eaed377bf8..bca8595d9b4 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt @@ -1,41 +1,41 @@ FILE fqName: fileName:/propertiesWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:testVal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:testVal visibility:public modality:FINAL [val] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="testVal.property" - FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public flags:[final,static] + FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt index 038f8b7b969..84c50ab604c 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt @@ -1,89 +1,89 @@ FILE fqName: fileName:/propertyAccessorsFromClassHeaderWithAnnotations.kt - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'x: kotlin.String declared in .A.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.C flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] + GET_VAR 'x: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="C.x.get" - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:y visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] + GET_VAR 'y: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="C.y.get" - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .A' type=.A origin=null x: CONST String type=kotlin.String value="C.y.set" - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt index a0a69198a38..8dcec669e58 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt @@ -1,87 +1,87 @@ FILE fqName: fileName:/propertyAccessorsWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test1 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="test1.get" - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CONST String type=kotlin.String value="" - PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + PROPERTY name:test2 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="test2.get" - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CONST String type=kotlin.String value="" - FUN name: visibility:public modality:FINAL <> (value:kotlin.String) returnType:kotlin.Unit flags:[] + FUN name: visibility:public modality:FINAL <> (value:kotlin.String) returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="test2.set" - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public flags:[final,static] + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="test3.get" - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public flags:[static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test4 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public [static] EXPRESSION_BODY CONST String type=kotlin.String value="" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="test4.get" - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public flags:[static]' type=kotlin.String origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.String) returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public [static] ' type=kotlin.String origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.String) returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="test4.set" - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.String flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.String BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt index 91a462efef5..d731ea7a8b3 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt @@ -1,75 +1,75 @@ FILE fqName: fileName:/propertySetterParameterWithAnnotations.kt - CLASS ANNOTATION_CLASS name:AnnParam modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AnnParam flags:[] - CONSTRUCTOR visibility:public <> () returnType:.AnnParam flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS ANNOTATION_CLASS name:AnnParam modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AnnParam + CONSTRUCTOR visibility:public <> () returnType:.AnnParam [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:p visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:p visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.AnnParam flags:[primary]' type=.AnnParam origin=null + CALL 'public constructor () [primary] declared in .AnnParam' type=.AnnParam origin=null BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (p:kotlin.Int) returnType:.C flags:[primary] - VALUE_PARAMETER name:p index:0 type:kotlin.Int flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (p:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:p index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:p visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:p visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:p index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'p: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.AnnParam flags:[primary]' type=.AnnParam origin=null + CALL 'public constructor () [primary] declared in .AnnParam' type=.AnnParam origin=null BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/receiverParameterWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/receiverParameterWithAnnotations.txt index 453d85262e8..d89ac114865 100644 --- a/compiler/testData/ir/irText/declarations/annotations/receiverParameterWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/receiverParameterWithAnnotations.txt @@ -1,70 +1,70 @@ FILE fqName: fileName:/receiverParameterWithAnnotations.kt - CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ann flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ann + CONSTRUCTOR visibility:public <> () returnType:.Ann [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:f visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:f visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:kotlin.String annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null + CALL 'public constructor () [primary] declared in .Ann' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun f (): kotlin.String declared in .A' CONST String type=kotlin.String value="" - PROPERTY name:p visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String?) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String? flags:[] + PROPERTY name:p visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String?) returnType:kotlin.String + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:kotlin.String? annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null + CALL 'public constructor () [primary] declared in .Ann' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String?) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .A' CONST String type=kotlin.String value="" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:topLevelF visibility:public modality:FINAL <> ($receiver:kotlin.String?) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:topLevelF visibility:public modality:FINAL <> ($receiver:kotlin.String?) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:kotlin.String? annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null + CALL 'public constructor () [primary] declared in .Ann' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:topLevelF visibility:public modality:FINAL <> ($receiver:kotlin.String?) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun topLevelF (): kotlin.String declared in ' CONST String type=kotlin.String value="" - PROPERTY name:topLevelP visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:topLevelP visibility:public modality:FINAL flags:[val] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:topLevelP visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String + correspondingProperty: PROPERTY name:topLevelP visibility:public modality:FINAL [val] + $receiver: VALUE_PARAMETER name: type:kotlin.String annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null + CALL 'public constructor () [primary] declared in .Ann' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/declarations/annotations/spreadOperatorInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/spreadOperatorInAnnotationArguments.txt index 2af873c10e2..025ae119df8 100644 --- a/compiler/testData/ir/irText/declarations/annotations/spreadOperatorInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/spreadOperatorInAnnotationArguments.txt @@ -1,35 +1,35 @@ FILE fqName: fileName:/spreadOperatorInAnnotationArguments.kt - CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary] - VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg] - PROPERTY name:xs visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A [primary] + VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + PROPERTY name:xs visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg]' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'xs: kotlin.Array [vararg] declared in .A.' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Array + correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public flags:[final]' type=kotlin.Array origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public [final] ' type=kotlin.Array origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A' type=.A origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="a" diff --git a/compiler/testData/ir/irText/declarations/annotations/typeAliasesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/typeAliasesWithAnnotations.txt index 31cb0220ee3..13d7fd8cf23 100644 --- a/compiler/testData/ir/irText/declarations/annotations/typeAliasesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/typeAliasesWithAnnotations.txt @@ -1,33 +1,33 @@ FILE fqName: fileName:/typeAliasesWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] annotations: - CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (allowedTargets:kotlin.Array) returnType:kotlin.annotation.Target flags:[primary]' type=kotlin.annotation.Target origin=null + CALL 'public constructor (vararg allowedTargets: kotlin.annotation.AnnotationTarget) [primary] declared in kotlin.annotation.Target' type=kotlin.annotation.Target origin=null allowedTargets: VARARG type=kotlin.Array varargElementType=kotlin.annotation.AnnotationTarget GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPEALIAS' type=kotlin.annotation.AnnotationTarget - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt index 7967f732d92..afd39e3222c 100644 --- a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt @@ -1,26 +1,26 @@ FILE fqName: fileName:/typeParametersWithAnnotations.kt - CLASS ANNOTATION_CLASS name:Anno modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] + CLASS ANNOTATION_CLASS name:Anno modality:FINAL visibility:public superTypes:[kotlin.Annotation] annotations: - CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (allowedTargets:kotlin.Array) returnType:kotlin.annotation.Target flags:[primary]' type=kotlin.annotation.Target origin=null + CALL 'public constructor (vararg allowedTargets: kotlin.annotation.AnnotationTarget) [primary] declared in kotlin.annotation.Target' type=kotlin.annotation.Target origin=null allowedTargets: VARARG type=kotlin.Array varargElementType=kotlin.annotation.AnnotationTarget GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPE_PARAMETER' type=kotlin.annotation.AnnotationTarget - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Anno flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Anno flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Anno + CONSTRUCTOR visibility:public <> () returnType:.Anno [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Anno flags:[primary]' type=.Anno origin=null + CALL 'public constructor () [primary] declared in .Anno' type=.Anno origin=null BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/valueParametersWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/valueParametersWithAnnotations.txt index e70b6140efb..ef9c74a1d7f 100644 --- a/compiler/testData/ir/irText/declarations/annotations/valueParametersWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/valueParametersWithAnnotations.txt @@ -1,69 +1,69 @@ FILE fqName: fileName:/valueParametersWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:testFun visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:testFun visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="testFun.x" BLOCK_BODY - CLASS CLASS name:TestClassConstructor1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClassConstructor1 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestClassConstructor1 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS CLASS name:TestClassConstructor1 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClassConstructor1 + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestClassConstructor1 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="TestClassConstructor1.x" BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClassConstructor1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:xx visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClassConstructor1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:xx visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestClassConstructor1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestClassConstructor1 flags:[] + GET_VAR 'x: kotlin.Int declared in .TestClassConstructor1.' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestClassConstructor1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestClassConstructor1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestClassConstructor1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestClassConstructor1 flags:[]' type=.TestClassConstructor1 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestClassConstructor1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestClassConstructor1 declared in .TestClassConstructor1.' type=.TestClassConstructor1 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/annotations/varargsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/varargsInAnnotationArguments.txt index 9f7482b8de4..db3decc154b 100644 --- a/compiler/testData/ir/irText/declarations/annotations/varargsInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/varargsInAnnotationArguments.txt @@ -1,172 +1,172 @@ FILE fqName: fileName:/varargsInAnnotationArguments.kt - CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 flags:[] - CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary] - VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int flags:[vararg] - PROPERTY name:xs visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 + CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 [primary] + VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int [vararg] + PROPERTY name:xs visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int flags:[vararg]' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A1) returnType:kotlin.IntArray flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A1 flags:[] + GET_VAR 'xs: kotlin.IntArray [vararg] declared in .A1.' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A1) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A1) returnType:kotlin.IntArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public flags:[final]' type=kotlin.IntArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A1 flags:[]' type=.A1 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.IntArray declared in .A1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public [final] ' type=kotlin.IntArray origin=null + receiver: GET_VAR ': .A1 declared in .A1.' type=.A1 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 flags:[] - CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary] - VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg] - PROPERTY name:xs visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 + CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 [primary] + VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + PROPERTY name:xs visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg]' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A2) returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A2 flags:[] + GET_VAR 'xs: kotlin.Array [vararg] declared in .A2.' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A2) returnType:kotlin.Array + correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A2) returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public flags:[final]' type=kotlin.Array origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A2 flags:[]' type=.A2 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in .A2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array visibility:public [final] ' type=kotlin.Array origin=null + receiver: GET_VAR ': .A2 declared in .A2.' type=.A2 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ANNOTATION_CLASS name:AA modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AA flags:[] - CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary] - VALUE_PARAMETER name:xs index:0 type:kotlin.Array.A1> varargElementType:.A1 flags:[vararg] - PROPERTY name:xs visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array.A1> visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ANNOTATION_CLASS name:AA modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AA + CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA [primary] + VALUE_PARAMETER name:xs index:0 type:kotlin.Array.A1> varargElementType:.A1 [vararg] + PROPERTY name:xs visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array.A1> visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:xs index:0 type:kotlin.Array.A1> varargElementType:.A1 flags:[vararg]' type=kotlin.Array.A1> origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.AA) returnType:kotlin.Array.A1> flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.AA flags:[] + GET_VAR 'xs: kotlin.Array.A1> [vararg] declared in .AA.' type=kotlin.Array.A1> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.AA) returnType:kotlin.Array.A1> + correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.AA BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.AA) returnType:kotlin.Array.A1> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array.A1> visibility:public flags:[final]' type=kotlin.Array.A1> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.AA flags:[]' type=.AA origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array.A1> declared in .AA' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array.A1> visibility:public [final] ' type=kotlin.Array.A1> origin=null + receiver: GET_VAR ': .AA declared in .AA.' type=.AA origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A2' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="a" CONST String type=kotlin.String value="b" CONST String type=kotlin.String value="c" - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (vararg xs: .A1) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array.A1> varargElementType=.A1 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=5 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=6 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A2' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="a" CONST String type=kotlin.String value="b" CONST String type=kotlin.String value="c" - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (vararg xs: .A1) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array.A1> varargElementType=.A1 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=5 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=6 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A2' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="a" CONST String type=kotlin.String value="b" CONST String type=kotlin.String value="c" - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (vararg xs: .A1) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array.A1> varargElementType=.A1 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=5 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=6 BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit annotations: - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A2' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (vararg xs: .A1) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array.A1> varargElementType=.A1 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A2' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (vararg xs: .A1) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array.A1> varargElementType=.A1 - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null + CALL 'public constructor (vararg xs: kotlin.Int) [primary] declared in .A1' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null + CALL 'public constructor (vararg xs: kotlin.String) [primary] declared in .A2' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String - CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' type=.AA origin=null + CALL 'public constructor (vararg xs: .A1) [primary] declared in .AA' type=.AA origin=null xs: VARARG type=kotlin.Array.A1> varargElementType=.A1 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/variablesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/variablesWithAnnotations.txt index 53d91b70f56..a915ca490c4 100644 --- a/compiler/testData/ir/irText/declarations/annotations/variablesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/variablesWithAnnotations.txt @@ -1,41 +1,41 @@ FILE fqName: fileName:/variablesWithAnnotations.kt - CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] + CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAnn + CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestAnn flags:[] + GET_VAR 'x: kotlin.String declared in .TestAnn.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestAnn BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestAnn) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestAnn flags:[]' type=.TestAnn origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .TestAnn' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .TestAnn declared in .TestAnn.' type=.TestAnn origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:testVal type:kotlin.String flags:[val] + VAR name:testVal type:kotlin.String [val] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="foo/testVal" CONST String type=kotlin.String value="testVal" - VAR name:testVar type:kotlin.String flags:[var] + VAR name:testVar type:kotlin.String [var] annotations: - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null + CALL 'public constructor (x: kotlin.String) [primary] declared in .TestAnn' type=.TestAnn origin=null x: CONST String type=kotlin.String value="foo/testVar" CONST String type=kotlin.String value="testVar" diff --git a/compiler/testData/ir/irText/declarations/catchParameterInTopLevelProperty.txt b/compiler/testData/ir/irText/declarations/catchParameterInTopLevelProperty.txt index f6dd4c694bd..6e6fb6fa3ce 100644 --- a/compiler/testData/ir/irText/declarations/catchParameterInTopLevelProperty.txt +++ b/compiler/testData/ir/irText/declarations/catchParameterInTopLevelProperty.txt @@ -1,14 +1,14 @@ FILE fqName: fileName:/catchParameterInTopLevelProperty.kt - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Unit visibility:public flags:[final,static] + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Unit visibility:public [final,static] EXPRESSION_BODY TRY type=kotlin.Unit try: BLOCK type=kotlin.Unit origin=null - CATCH parameter=VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] + CATCH parameter=val e: kotlin.Throwable [val] declared in .test + VAR CATCH_PARAMETER name:e type:kotlin.Throwable [val] BLOCK type=kotlin.Unit origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Unit visibility:public flags:[final,static]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Unit declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Unit visibility:public [final,static] ' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/declarations/classLevelProperties.txt b/compiler/testData/ir/irText/declarations/classLevelProperties.txt index 9c2d89200b2..dcfaa7f12a8 100644 --- a/compiler/testData/ir/irText/declarations/classLevelProperties.txt +++ b/compiler/testData/ir/irText/declarations/classLevelProperties.txt @@ -1,159 +1,159 @@ FILE fqName: fileName:/classLevelProperties.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=0 - PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[] + PROPERTY name:test3 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + PROPERTY name:test4 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN name: visibility:public modality:FINAL <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN name: visibility:public modality:FINAL <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:test5 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR 'value: kotlin.Int declared in .C.' type=kotlin.Int origin=null + PROPERTY name:test5 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN name: visibility:private modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN name: visibility:private modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public flags:[final] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + PROPERTY name:test6 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - PROPERTY name:test7 visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int initializer: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .C.test7$delegate' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL flags:[delegated,val] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .C.test7$delegate' type=kotlin.Function0 origin=LAMBDA + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.Lazy, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private flags:[final]' type=kotlin.Lazy origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - thisRef: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - property: PROPERTY_REFERENCE 'test7: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] - FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final] + $receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final] ' type=kotlin.Lazy origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + thisRef: GET_VAR ': .C declared in .C.' type=.C origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in .C' setter=null type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] + FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL () returnType:java.util.HashMap flags:[inline]' type=java.util.HashMap origin=null + CALL 'public final fun hashMapOf (): java.util.HashMap [inline] declared in kotlin.collections' type=java.util.HashMap origin=null : kotlin.String : kotlin.Int - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap () returnType:kotlin.internal.Exact flags:[primary]' type=kotlin.internal.Exact origin=null] kotlin.collections.getValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.collections.getValue.V1 flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.getValue [inline] declared in kotlin.collections' type=kotlin.Int origin=null : kotlin.Int : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final]' type=java.util.HashMap origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - thisRef: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - property: PROPERTY_REFERENCE 'test8: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final] ' type=java.util.HashMap origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + thisRef: GET_VAR ': .C declared in .C.' type=.C origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in .C' setter='public final fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.collections.setValue.V) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.Int): kotlin.Unit declared in .C' + CALL 'public final fun setValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.setValue): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final]' type=java.util.HashMap origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - thisRef: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - property: PROPERTY_REFERENCE 'test8: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final] ' type=java.util.HashMap origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + thisRef: GET_VAR ': .C declared in .C.' type=.C origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in .C' setter='public final fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/constValInitializers.txt b/compiler/testData/ir/irText/declarations/constValInitializers.txt index 987c1ec7d6c..0ee4757bf55 100644 --- a/compiler/testData/ir/irText/declarations/constValInitializers.txt +++ b/compiler/testData/ir/irText/declarations/constValInitializers.txt @@ -1,64 +1,64 @@ FILE fqName: fileName:/constValInitializers.kt - PROPERTY name:I0 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:I0 type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:I0 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:I0 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:I0 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:I0 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:I0 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:I1 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:I1 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:I0 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:I1 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:I1 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:I1 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:I1 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:I1 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:I2 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:I2 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:I1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:I2 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:I2 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=2 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:I2 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:I2 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:I2 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:STR1 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:STR1 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:I2 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:STR1 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:STR1 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="String1" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:STR1 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:STR1 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR1 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:STR2 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:STR2 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR1 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:STR2 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:STR2 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="String2" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:STR2 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:STR2 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR2 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:STR3 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:STR3 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR2 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:STR3 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:STR3 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="String1String2" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:STR3 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:STR3 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR3 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:STR4 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:STR4 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR3 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:STR4 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:STR4 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="String1String2" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:STR4 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:STR4 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR4 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:STR4 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/declarations/defaultArguments.txt b/compiler/testData/ir/irText/declarations/defaultArguments.txt index 431bf57b982..d7a50174a61 100644 --- a/compiler/testData/ir/irText/declarations/defaultArguments.txt +++ b/compiler/testData/ir/irText/declarations/defaultArguments.txt @@ -1,21 +1,21 @@ FILE fqName: fileName:/defaultArguments.kt - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int, z:kotlin.String) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int, z:kotlin.String) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - VALUE_PARAMETER name:z index:2 type:kotlin.String flags:[] + VALUE_PARAMETER name:z index:2 type:kotlin.String EXPRESSION_BODY CONST String type=kotlin.String value="abc" BLOCK_BODY - FUN name:local visibility:local modality:FINAL <> (xx:kotlin.Int, yy:kotlin.Int, zz:kotlin.String) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags:[] + FUN name:local visibility:local modality:FINAL <> (xx:kotlin.Int, yy:kotlin.Int, zz:kotlin.String) returnType:kotlin.Unit + VALUE_PARAMETER name:xx index:0 type:kotlin.Int EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - VALUE_PARAMETER name:yy index:1 type:kotlin.Int flags:[] + GET_VAR 'x: kotlin.Int declared in .test1' type=kotlin.Int origin=null + VALUE_PARAMETER name:yy index:1 type:kotlin.Int EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - VALUE_PARAMETER name:zz index:2 type:kotlin.String flags:[] + GET_VAR 'y: kotlin.Int declared in .test1' type=kotlin.Int origin=null + VALUE_PARAMETER name:zz index:2 type:kotlin.String EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:z index:2 type:kotlin.String flags:[]' type=kotlin.String origin=null + GET_VAR 'z: kotlin.String declared in .test1' type=kotlin.String origin=null BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/delegatedProperties.txt b/compiler/testData/ir/irText/declarations/delegatedProperties.txt index 7fdf9b315eb..8505df3cd8f 100644 --- a/compiler/testData/ir/irText/declarations/delegatedProperties.txt +++ b/compiler/testData/ir/irText/declarations/delegatedProperties.txt @@ -1,131 +1,131 @@ FILE fqName: fileName:/delegatedProperties.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int initializer: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1$delegate' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test1$delegate' type=kotlin.Function0 origin=LAMBDA + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.Lazy, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private flags:[final,static]' type=kotlin.Lazy origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static] ' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test1: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (map:kotlin.collections.MutableMap) returnType:.C flags:[primary] - VALUE_PARAMETER name:map index:0 type:kotlin.collections.MutableMap flags:[] + property: PROPERTY_REFERENCE 'PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (map:kotlin.collections.MutableMap) returnType:.C [primary] + VALUE_PARAMETER name:map index:0 type:kotlin.collections.MutableMap BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:map visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.MutableMap visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:map visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.MutableMap visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:map index:0 type:kotlin.collections.MutableMap flags:[]' type=kotlin.collections.MutableMap origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.collections.MutableMap flags:[] - correspondingProperty: PROPERTY name:map visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'map: kotlin.collections.MutableMap declared in .C.' type=kotlin.collections.MutableMap origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.collections.MutableMap + correspondingProperty: PROPERTY name:map visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.collections.MutableMap flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.MutableMap visibility:public flags:[final]' type=kotlin.collections.MutableMap origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:test2$delegate type:kotlin.Lazy visibility:private flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.MutableMap declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.MutableMap visibility:public [final] ' type=kotlin.collections.MutableMap origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:test2 visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:test2$delegate type:kotlin.Lazy visibility:private [final] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int initializer: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .C.test2$delegate' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[delegated,val] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .C.test2$delegate' type=kotlin.Function0 origin=LAMBDA + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [delegated,val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.Lazy, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:kotlin.Lazy visibility:private flags:[final]' type=kotlin.Lazy origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - thisRef: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - property: PROPERTY_REFERENCE 'test2: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:test3 visibility:public modality:FINAL flags:[delegated,var] - FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap visibility:private flags:[final] + $receiver: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:kotlin.Lazy visibility:private [final] ' type=kotlin.Lazy origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + thisRef: GET_VAR ': .C declared in .C.' type=.C origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test2 visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in .C' setter=null type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:test3 visibility:public modality:FINAL [delegated,var] + FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap visibility:private [final] EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.collections.MutableMap flags:[]' type=kotlin.collections.MutableMap origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[]' type=.C origin=null - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[delegated,var] - $this: VALUE_PARAMETER name: type:.C flags:[] + CALL 'public final fun (): kotlin.collections.MutableMap declared in .C' type=kotlin.collections.MutableMap origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C' type=.C origin=null + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [delegated,var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap () returnType:kotlin.internal.Exact flags:[primary]' type=kotlin.internal.Exact origin=null] kotlin.collections.getValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.collections.getValue.V1 flags:[inline]' type=kotlin.Any origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .C' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.getValue [inline] declared in kotlin.collections' type=kotlin.Any origin=null : kotlin.Any : kotlin.Any - $receiver: GET_FIELD 'FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap visibility:private flags:[final]' type=kotlin.collections.MutableMap origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - thisRef: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - property: PROPERTY_REFERENCE 'test3: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Any) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[delegated,var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Any flags:[] + $receiver: GET_FIELD 'FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap visibility:private [final] ' type=kotlin.collections.MutableMap origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + thisRef: GET_VAR ': .C declared in .C.' type=.C origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test3 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Any declared in .C' setter='public final fun (: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Any) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [delegated,var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Any) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.collections.setValue.V) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.Any): kotlin.Unit declared in .C' + CALL 'public final fun setValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.setValue): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Any - $receiver: GET_FIELD 'FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap visibility:private flags:[final]' type=kotlin.collections.MutableMap origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - thisRef: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - property: PROPERTY_REFERENCE 'test3: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $receiver: GET_FIELD 'FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap visibility:private [final] ' type=kotlin.collections.MutableMap origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + thisRef: GET_VAR ': .C declared in .C.' type=.C origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test3 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Any declared in .C' setter='public final fun (: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.reflect.KMutableProperty1<.C, kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE + value: GET_VAR ': kotlin.Any declared in .C.' type=kotlin.Any origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test4 visibility:public modality:FINAL flags:[delegated,var] - FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] + FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL () returnType:java.util.HashMap flags:[inline]' type=java.util.HashMap origin=null + CALL 'public final fun hashMapOf (): java.util.HashMap [inline] declared in kotlin.collections' type=java.util.HashMap origin=null : kotlin.String : kotlin.Any - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[delegated,var] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap () returnType:kotlin.internal.Exact flags:[primary]' type=kotlin.internal.Exact origin=null] kotlin.collections.getValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.collections.getValue.V1 flags:[inline]' type=kotlin.Any origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.getValue [inline] declared in kotlin.collections' type=kotlin.Any origin=null : kotlin.Any : kotlin.Any - $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private [final,static] ' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test4: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[delegated,var] - VALUE_PARAMETER name: index:0 type:kotlin.Any flags:[] + property: PROPERTY_REFERENCE 'PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Any declared in ' setter='public final fun (: kotlin.Any): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] + VALUE_PARAMETER name: index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.collections.setValue.V) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.Any): kotlin.Unit declared in ' + CALL 'public final fun setValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.setValue): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Any - $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private [final,static] ' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test4: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Any declared in ' setter='public final fun (: kotlin.Any): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + value: GET_VAR ': kotlin.Any declared in .' type=kotlin.Any origin=null diff --git a/compiler/testData/ir/irText/declarations/extensionProperties.txt b/compiler/testData/ir/irText/declarations/extensionProperties.txt index 24cdd5a99b9..f4d039bb97a 100644 --- a/compiler/testData/ir/irText/declarations/extensionProperties.txt +++ b/compiler/testData/ir/irText/declarations/extensionProperties.txt @@ -1,61 +1,61 @@ FILE fqName: fileName:/extensionProperties.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:test2 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:test3 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:test4 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/fakeOverrides.txt b/compiler/testData/ir/irText/declarations/fakeOverrides.txt index 250a8c8685a..6f4b07859d9 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.txt @@ -1,107 +1,107 @@ FILE fqName: fileName:/fakeOverrides.kt - CLASS INTERFACE name:IFooStr modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFooStr flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooStr, x:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFooStr flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IFooStr modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFooStr + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooStr, x:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFooStr + VALUE_PARAMETER name:x index:0 type:kotlin.String + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IBar modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBar flags:[] - PROPERTY name:bar visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBar) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.IBar flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IBar modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBar + PROPERTY name:bar visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBar) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.IBar + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:CFoo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CFoo<.CFoo.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:CFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CFoo.CFoo> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.CFoo<.CFoo.T> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.CFoo.CFoo> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CFoo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL <> ($this:.CFoo<.CFoo.T>, x:.CFoo.T) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.CFoo<.CFoo.T> flags:[] - VALUE_PARAMETER name:x index:0 type:.CFoo.T flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.CFoo.CFoo>, x:T of .CFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.CFoo.CFoo> + VALUE_PARAMETER name:x index:0 type:T of .CFoo BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.CFoo; .IFooStr; .IBar] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.CFoo; .IFooStr; .IBar] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> () returnType:.Test1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.CFoo<.CFoo.T> flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .CFoo' : kotlin.String - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.CFoo; .IFooStr; .IBar]' - PROPERTY name:bar visibility:public modality:OPEN flags:[val] - FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.CFoo; .IFooStr; .IBar]' + PROPERTY name:bar visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBar) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBar) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.CFoo, x:kotlin.String) returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.CFoo, x:kotlin.String) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:FINAL <> ($this:.CFoo<.CFoo.T>, x:.CFoo.T) returnType:kotlin.Unit flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooStr, x:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.CFoo flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN name:foo visibility:public modality:FINAL <> ($this:.CFoo.CFoo>, x:T of .CFoo) returnType:kotlin.Unit + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFooStr, x:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.CFoo + VALUE_PARAMETER name:x index:0 type:kotlin.String + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt b/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt index 9014a69460d..d006a267b66 100644 --- a/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt @@ -1,15 +1,15 @@ FILE fqName: fileName:/fileWithAnnotations.kt annotations: - CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String) returnType:kotlin.jvm.JvmName flags:[primary]' type=kotlin.jvm.JvmName origin=null + CALL 'public constructor (name: kotlin.String) [primary] declared in kotlin.jvm.JvmName' type=kotlin.jvm.JvmName origin=null name: CONST String type=kotlin.String value="FileWithAnnotations" - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - PROPERTY name:bar visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:bar visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/declarations/interfaceProperties.txt b/compiler/testData/ir/irText/declarations/interfaceProperties.txt index 20ac3025da7..55daf18c8c7 100644 --- a/compiler/testData/ir/irText/declarations/interfaceProperties.txt +++ b/compiler/testData/ir/irText/declarations/interfaceProperties.txt @@ -1,47 +1,47 @@ FILE fqName: fileName:/interfaceProperties.kt - CLASS INTERFACE name:C modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - PROPERTY name:test1 visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] - PROPERTY name:test2 visibility:public modality:OPEN flags:[val] - FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:OPEN flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + CLASS INTERFACE name:C modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:test1 visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.C + PROPERTY name:test2 visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=0 - PROPERTY name:test3 visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] - PROPERTY name:test4 visibility:public modality:OPEN flags:[var] - FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:OPEN flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + PROPERTY name:test3 visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test3 visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.C + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test3 visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY name:test4 visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test4 visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=0 - FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:OPEN flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test4 visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/kt27005.txt b/compiler/testData/ir/irText/declarations/kt27005.txt index 82983cd922d..10bb9cabf3c 100644 --- a/compiler/testData/ir/irText/declarations/kt27005.txt +++ b/compiler/testData/ir/irText/declarations/kt27005.txt @@ -1,15 +1,15 @@ FILE fqName: fileName:/kt27005.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[suspend] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit [suspend] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[suspend]' - CALL 'FUN name:baz visibility:public modality:FINAL () returnType:.baz.T flags:[suspend]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Unit [suspend] declared in ' + CALL 'public final fun baz (): T of .baz [suspend] declared in ' type=kotlin.Unit origin=null : kotlin.Unit - FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[suspend] + FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Any [suspend] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[suspend]' - CALL 'FUN name:baz visibility:public modality:FINAL () returnType:.baz.T flags:[suspend]' type=kotlin.Any origin=null + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Any [suspend] declared in ' + CALL 'public final fun baz (): T of .baz [suspend] declared in ' type=kotlin.Any origin=null : kotlin.Any - FUN name:baz visibility:public modality:FINAL () returnType:.baz.T flags:[suspend] + FUN name:baz visibility:public modality:FINAL () returnType:T of .baz [suspend] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null + CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null diff --git a/compiler/testData/ir/irText/declarations/kt29833.txt b/compiler/testData/ir/irText/declarations/kt29833.txt index b3323c9953e..9692c4c7662 100644 --- a/compiler/testData/ir/irText/declarations/kt29833.txt +++ b/compiler/testData/ir/irText/declarations/kt29833.txt @@ -1,42 +1,42 @@ FILE fqName:interop fileName:/Definitions.kt - CLASS OBJECT name:Definitions modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:interop.Definitions flags:[] - CONSTRUCTOR visibility:private <> () returnType:interop.Definitions flags:[primary] + CLASS OBJECT name:Definitions modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:interop.Definitions + CONSTRUCTOR visibility:private <> () returnType:interop.Definitions [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Definitions modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:KT_CONSTANT visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:KT_CONSTANT type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Definitions modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:KT_CONSTANT visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:KT_CONSTANT type:kotlin.String visibility:public [final] EXPRESSION_BODY CONST String type=kotlin.String value="constant" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:KT_CONSTANT visibility:public modality:FINAL flags:[const,val] - $this: VALUE_PARAMETER name: type:interop.Definitions flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String + correspondingProperty: PROPERTY name:KT_CONSTANT visibility:public modality:FINAL [const,val] + $this: VALUE_PARAMETER name: type:interop.Definitions BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:KT_CONSTANT type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:interop.Definitions flags:[]' type=interop.Definitions origin=null - PROPERTY name:ktValue visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:ktValue type:kotlin.String visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in interop.Definitions' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:KT_CONSTANT type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': interop.Definitions declared in interop.Definitions.' type=interop.Definitions origin=null + PROPERTY name:ktValue visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ktValue type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:CONSTANT type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=GET_PROPERTY - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:ktValue visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:interop.Definitions flags:[] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:CONSTANT type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=GET_PROPERTY + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String + correspondingProperty: PROPERTY name:ktValue visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:interop.Definitions BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ktValue type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:interop.Definitions flags:[]' type=interop.Definitions origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in interop.Definitions' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ktValue type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': interop.Definitions declared in interop.Definitions.' type=interop.Definitions origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt b/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt index 4bc445f5029..1957abb1b6e 100644 --- a/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt +++ b/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt @@ -1,96 +1,96 @@ FILE fqName: fileName:/localClassWithOverrides.kt - FUN name:outer visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:outer visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CLASS CLASS name:ALocal modality:ABSTRACT visibility:local flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.ALocal flags:[] - CONSTRUCTOR visibility:public <> () returnType:.outer.ALocal flags:[primary] + CLASS CLASS name:ALocal modality:ABSTRACT visibility:local superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.ALocal + CONSTRUCTOR visibility:public <> () returnType:.outer.ALocal [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ALocal modality:ABSTRACT visibility:local flags:[] superTypes:[kotlin.Any]' - FUN name:afun visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.outer.ALocal flags:[] - PROPERTY name:aval visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:aval visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.outer.ALocal flags:[] - PROPERTY name:avar visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:avar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.outer.ALocal flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:avar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.outer.ALocal flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ALocal modality:ABSTRACT visibility:local superTypes:[kotlin.Any]' + FUN name:afun visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.outer.ALocal + PROPERTY name:aval visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:aval visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.outer.ALocal + PROPERTY name:avar visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:avar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.outer.ALocal + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:avar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.outer.ALocal + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Local modality:FINAL visibility:local flags:[] superTypes:[.outer.ALocal] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.Local flags:[] - CONSTRUCTOR visibility:public <> () returnType:.outer.Local flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Local modality:FINAL visibility:local superTypes:[.outer.ALocal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.Local + CONSTRUCTOR visibility:public <> () returnType:.outer.Local [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.outer.ALocal flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Local modality:FINAL visibility:local flags:[] superTypes:[.outer.ALocal]' - FUN name:afun visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .outer.ALocal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Local modality:FINAL visibility:local superTypes:[.outer.ALocal]' + FUN name:afun visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Unit overridden: - FUN name:afun visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.outer.Local flags:[] + FUN name:afun visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.outer.Local BLOCK_BODY - PROPERTY name:aval visibility:public modality:OPEN flags:[val] - FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:public flags:[final] + PROPERTY name:aval visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:aval visibility:public modality:OPEN flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Int + correspondingProperty: PROPERTY name:aval visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.outer.Local flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.outer.Local BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.outer.Local flags:[]' type=.outer.Local origin=null - PROPERTY name:avar visibility:public modality:OPEN flags:[var] - FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .outer.Local' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .outer.Local declared in .outer.Local.' type=.outer.Local origin=null + PROPERTY name:avar visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=2 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:avar visibility:public modality:OPEN flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Int + correspondingProperty: PROPERTY name:avar visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.outer.Local flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.outer.Local BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.outer.Local flags:[]' type=.outer.Local origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:avar visibility:public modality:OPEN flags:[var] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .outer.Local' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .outer.Local declared in .outer.Local.' type=.outer.Local origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.outer.Local, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:avar visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal, :kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.outer.Local flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.outer.ALocal, :kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.outer.Local + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.outer.Local flags:[]' type=.outer.Local origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .outer.Local declared in .outer.Local.' type=.outer.Local origin=null + value: GET_VAR ': kotlin.Int declared in .outer.Local.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt b/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt index fd0c0ef8e5c..14ff3ec13ec 100644 --- a/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt +++ b/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt @@ -1,64 +1,64 @@ FILE fqName: fileName:/localDelegatedProperties.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:x type:kotlin.Int flags:val - VAR DELEGATE name:x$delegate type:kotlin.Lazy flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' type=kotlin.Lazy origin=null + VAR DELEGATE name:x$delegate type:kotlin.Lazy [val] + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int initializer: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test1' type=kotlin.Function0 origin=LAMBDA + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.Lazy, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.Int - $receiver: GET_VAR 'VAR DELEGATE name:x$delegate type:kotlin.Lazy flags:[val]' type=kotlin.Lazy origin=null + $receiver: GET_VAR 'val x$delegate: kotlin.Lazy [val] declared in .test1' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='VAR DELEGATE name:x$delegate type:kotlin.Lazy flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_LOCAL_PROPERTY - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='val x$delegate: kotlin.Lazy [val] declared in .test1' getter='local final fun (): kotlin.Int declared in .test1' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + CALL 'public final fun println (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: CALL 'local final fun (): kotlin.Int declared in .test1' type=kotlin.Int origin=GET_LOCAL_PROPERTY + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:x type:kotlin.Int flags:var - VAR DELEGATE name:x$delegate type:java.util.HashMap flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL () returnType:java.util.HashMap flags:[inline]' type=java.util.HashMap origin=null + VAR DELEGATE name:x$delegate type:java.util.HashMap [val] + CALL 'public final fun hashMapOf (): java.util.HashMap [inline] declared in kotlin.collections' type=java.util.HashMap origin=null : kotlin.String : kotlin.Int - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap () returnType:kotlin.internal.Exact flags:[primary]' type=kotlin.internal.Exact origin=null] kotlin.collections.getValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.collections.getValue.V1 flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test2' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.getValue [inline] declared in kotlin.collections' type=kotlin.Int origin=null : kotlin.Int : kotlin.Int - $receiver: GET_VAR 'VAR DELEGATE name:x$delegate type:java.util.HashMap flags:[val]' type=java.util.HashMap origin=null + $receiver: GET_VAR 'val x$delegate: java.util.HashMap [val] declared in .test2' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='VAR DELEGATE name:x$delegate type:java.util.HashMap flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='val x$delegate: java.util.HashMap [val] declared in .test2' getter='local final fun (): kotlin.Int declared in .test2' setter='local final fun (value: kotlin.Int): kotlin.Unit declared in .test2' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.collections.setValue.V) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='local final fun (value: kotlin.Int): kotlin.Unit declared in .test2' + CALL 'public final fun setValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.setValue): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Int - $receiver: GET_VAR 'VAR DELEGATE name:x$delegate type:java.util.HashMap flags:[val]' type=java.util.HashMap origin=null + $receiver: GET_VAR 'val x$delegate: java.util.HashMap [val] declared in .test2' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='VAR DELEGATE name:x$delegate type:java.util.HashMap flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ + property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='val x$delegate: java.util.HashMap [val] declared in .test2' getter='local final fun (): kotlin.Int declared in .test2' setter='local final fun (value: kotlin.Int): kotlin.Unit declared in .test2' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + value: GET_VAR 'value: kotlin.Int declared in .test2.' type=kotlin.Int origin=null + CALL 'local final fun (value: kotlin.Int): kotlin.Unit declared in .test2' type=kotlin.Unit origin=EQ value: CONST Int type=kotlin.Int value=0 TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ + VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + CALL 'local final fun (): kotlin.Int declared in .test2' type=kotlin.Int origin=POSTFIX_INCR + CALL 'local final fun (value: kotlin.Int): kotlin.Unit declared in .test2' type=kotlin.Unit origin=POSTFIX_INCR + value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null + GET_VAR 'val tmp0: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null + CALL 'local final fun (value: kotlin.Int): kotlin.Unit declared in .test2' type=kotlin.Unit origin=PLUSEQ + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'local final fun (): kotlin.Int declared in .test2' type=kotlin.Int origin=PLUSEQ other: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/declarations/localVarInDoWhile.txt b/compiler/testData/ir/irText/declarations/localVarInDoWhile.txt index e9151853314..e3a88a65731 100644 --- a/compiler/testData/ir/irText/declarations/localVarInDoWhile.txt +++ b/compiler/testData/ir/irText/declarations/localVarInDoWhile.txt @@ -1,12 +1,12 @@ FILE fqName: fileName:/localVarInDoWhile.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP body: COMPOSITE type=kotlin.Unit origin=null - VAR name:x type:kotlin.Int flags:[val] + VAR name:x type:kotlin.Int [val] CONST Int type=kotlin.Int value=42 - condition: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VAR name:x type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + condition: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'val x: kotlin.Int [val] declared in .foo' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irText/declarations/multiplatform/expectClassInherited.txt b/compiler/testData/ir/irText/declarations/multiplatform/expectClassInherited.txt index c28ae0762fa..03f3f8dda60 100644 --- a/compiler/testData/ir/irText/declarations/multiplatform/expectClassInherited.txt +++ b/compiler/testData/ir/irText/declarations/multiplatform/expectClassInherited.txt @@ -1,93 +1,93 @@ FILE fqName: fileName:/expectClassInherited.kt - CLASS CLASS name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:protected <> () returnType:.A flags:[primary] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:protected <> () returnType:.A [primary] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:B modality:OPEN visibility:public flags:[] superTypes:[.A] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:.B flags:[primary] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:OPEN visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - FUN name:bar visibility:public modality:OPEN <> ($this:.B, s:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + FUN name:bar visibility:public modality:OPEN <> ($this:.B, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:s index:0 type:kotlin.String + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:protected <> () returnType:.A flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:protected <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:B modality:OPEN visibility:public flags:[] superTypes:[.A] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:.B flags:[primary] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:OPEN visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:i index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:protected <> () returnType:.A flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:OPEN visibility:public flags:[] superTypes:[.A]' - FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:OPEN visibility:public superTypes:[.A]' + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B BLOCK_BODY - FUN name:bar visibility:public modality:OPEN <> ($this:.B, s:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:bar visibility:public modality:OPEN <> ($this:.B, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt b/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt index be68ea1c5f6..e8a995c62b5 100644 --- a/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt +++ b/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt @@ -1,112 +1,112 @@ FILE fqName: fileName:/expectedEnumClass.kt - CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum flags:[] + CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<.MyEnum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum ENUM_ENTRY name:FOO ENUM_ENTRY name:BAR - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:.MyEnum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:.MyEnum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum flags:[] - CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary] + CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<.MyEnum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum + CONSTRUCTOR visibility:private <> () returnType:.MyEnum [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .MyEnum - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<.MyEnum>]' ENUM_ENTRY name:FOO - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .MyEnum' ENUM_ENTRY name:BAR - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .MyEnum' ENUM_ENTRY name:BAZ - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .MyEnum' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:.MyEnum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:.MyEnum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/declarations/multiplatform/expectedSealedClass.txt b/compiler/testData/ir/irText/declarations/multiplatform/expectedSealedClass.txt index bc3ba5f3f7d..79afeea02ff 100644 --- a/compiler/testData/ir/irText/declarations/multiplatform/expectedSealedClass.txt +++ b/compiler/testData/ir/irText/declarations/multiplatform/expectedSealedClass.txt @@ -1,71 +1,71 @@ FILE fqName: fileName:/expectedSealedClass.kt - CLASS CLASS name:Ops modality:SEALED visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ops flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Ops flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS CLASS name:Ops modality:SEALED visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ops + CONSTRUCTOR visibility:private <> () returnType:.Ops [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Add modality:FINAL visibility:public flags:[] superTypes:[.Ops] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Add flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Add flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Add modality:FINAL visibility:public superTypes:[.Ops] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Add + CONSTRUCTOR visibility:public <> () returnType:.Add [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Ops modality:SEALED visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ops flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Ops flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Ops modality:SEALED visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ops + CONSTRUCTOR visibility:private <> () returnType:.Ops [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Ops modality:SEALED visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Ops modality:SEALED visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Add modality:FINAL visibility:public flags:[] superTypes:[.Ops] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Add flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Add flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Add modality:FINAL visibility:public superTypes:[.Ops] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Add + CONSTRUCTOR visibility:public <> () returnType:.Add [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Ops flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Add modality:FINAL visibility:public flags:[] superTypes:[.Ops]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Ops' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Add modality:FINAL visibility:public superTypes:[.Ops]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/packageLevelProperties.txt b/compiler/testData/ir/irText/declarations/packageLevelProperties.txt index 9c420426c7c..e20d7efed00 100644 --- a/compiler/testData/ir/irText/declarations/packageLevelProperties.txt +++ b/compiler/testData/ir/irText/declarations/packageLevelProperties.txt @@ -1,117 +1,117 @@ FILE fqName: fileName:/packageLevelProperties.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=0 - PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[static] + PROPERTY name:test3 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[static] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:test4 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=EQ - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:test5 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public flags:[static] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=EQ + value: GET_VAR 'value: kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:test5 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN name: visibility:private modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN name: visibility:private modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public flags:[final,static] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:test6 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test7 visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int initializer: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test7$delegate' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL flags:[delegated,val] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test7$delegate' type=kotlin.Function0 origin=LAMBDA + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.Lazy, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private flags:[final,static]' type=kotlin.Lazy origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final,static] ' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test7: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] - FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final,static] + property: PROPERTY_REFERENCE 'PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] + FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL () returnType:java.util.HashMap flags:[inline]' type=java.util.HashMap origin=null + CALL 'public final fun hashMapOf (): java.util.HashMap [inline] declared in kotlin.collections' type=java.util.HashMap origin=null : kotlin.String : kotlin.Int - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap () returnType:kotlin.internal.Exact flags:[primary]' type=kotlin.internal.Exact origin=null] kotlin.collections.getValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.collections.getValue.V1 flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.getValue [inline] declared in kotlin.collections' type=kotlin.Int origin=null : kotlin.Int : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final,static] ' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test8: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + property: PROPERTY_REFERENCE 'PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:FINAL ($receiver:kotlin.collections.MutableMap, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.collections.setValue.V) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.Int): kotlin.Unit declared in ' + CALL 'public final fun setValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.setValue): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Int - $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final,static] ' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test8: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/declarations/parameters/class.txt b/compiler/testData/ir/irText/declarations/parameters/class.txt index a9f911e19a6..17e3fab605e 100644 --- a/compiler/testData/ir/irText/declarations/parameters/class.txt +++ b/compiler/testData/ir/irText/declarations/parameters/class.txt @@ -1,94 +1,94 @@ FILE fqName: fileName:/class.kt - CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface<.TestInterface.T> flags:[] + CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface.TestInterface> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CLASS INTERFACE name:TestNestedInterface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface.TestNestedInterface<.TestInterface.TestNestedInterface.TT> flags:[] + CLASS INTERFACE name:TestNestedInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface.TestNestedInterface.TestInterface.TestNestedInterface> TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test<.Test.T0> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Test<.Test.T0> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Test.Test> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:TestNested modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestNested<.Test.TestNested.T1> flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:TestNested modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestNested.Test.TestNested> TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Test.TestNested<.Test.TestNested.T1> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Test.TestNested.Test.TestNested> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestNested modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestNested modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestInner<.Test.TestInner.T2, .Test.T0> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestInner.Test.TestInner, T0 of .Test> TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> ($this:.Test<.Test.T0>) returnType:.Test.TestInner<.Test.TestInner.T2, .Test.T0> flags:[primary] - $outer: VALUE_PARAMETER name: type:.Test<.Test.T0> flags:[] + CONSTRUCTOR visibility:public <> ($this:.Test.Test>) returnType:.Test.TestInner.Test.TestInner, T0 of .Test> [primary] + $outer: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/parameters/constructor.txt b/compiler/testData/ir/irText/declarations/parameters/constructor.txt index a73aabd9db2..73bf8cfd71e 100644 --- a/compiler/testData/ir/irText/declarations/parameters/constructor.txt +++ b/compiler/testData/ir/irText/declarations/parameters/constructor.txt @@ -1,208 +1,208 @@ FILE fqName: fileName:/constructor.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1<.Test1.T1, .Test1.T2> flags:[] + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1, T2 of .Test1> TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:.Test1.T1, y:.Test1.T2) returnType:.Test1<.Test1.T1, .Test1.T2> flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Test1.T1 flags:[] - VALUE_PARAMETER name:y index:1 type:.Test1.T2 flags:[] + CONSTRUCTOR visibility:public <> (x:T1 of .Test1, y:T2 of .Test1) returnType:.Test1.Test1, T2 of .Test1> [primary] + VALUE_PARAMETER name:x index:0 type:T1 of .Test1 + VALUE_PARAMETER name:y index:1 type:T2 of .Test1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.Test1.T1 visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:T1 of .Test1 visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test1.T1 flags:[]' type=.Test1.T1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T1, .Test1.T2>) returnType:.Test1.T1 flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T1, .Test1.T2> flags:[] + GET_VAR 'x: T1 of .Test1 declared in .Test1.' type=T1 of .Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1.Test1, T2 of .Test1>) returnType:T1 of .Test1 + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1.Test1, T2 of .Test1> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T1, .Test1.T2>) returnType:.Test1.T1 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Test1.T1 visibility:public flags:[final]' type=.Test1.T1 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T1, .Test1.T2> flags:[]' type=.Test1<.Test1.T1, .Test1.T2> origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:.Test1.T2 visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): T1 of .Test1 declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T1 of .Test1 visibility:public [final] ' type=T1 of .Test1 origin=null + receiver: GET_VAR ': .Test1.Test1, T2 of .Test1> declared in .Test1.' type=.Test1.Test1, T2 of .Test1> origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:T2 of .Test1 visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:.Test1.T2 flags:[]' type=.Test1.T2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T1, .Test1.T2>) returnType:.Test1.T2 flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1<.Test1.T1, .Test1.T2> flags:[] + GET_VAR 'y: T2 of .Test1 declared in .Test1.' type=T2 of .Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1.Test1, T2 of .Test1>) returnType:T2 of .Test1 + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1.Test1, T2 of .Test1> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1<.Test1.T1, .Test1.T2>) returnType:.Test1.T2 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:.Test1.T2 visibility:public flags:[final]' type=.Test1.T2 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1<.Test1.T1, .Test1.T2> flags:[]' type=.Test1<.Test1.T1, .Test1.T2> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T2 of .Test1 declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:T2 of .Test1 visibility:public [final] ' type=T2 of .Test1 origin=null + receiver: GET_VAR ': .Test1.Test1, T2 of .Test1> declared in .Test1.' type=.Test1.Test1, T2 of .Test1> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String) returnType:.Test2 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String) returnType:.Test2 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2 flags:[] + GET_VAR 'y: kotlin.String declared in .Test2.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.String + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.TestInner<.Test2.TestInner.Z> flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Test2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.TestInner.Test2.TestInner> TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> ($this:.Test2, z:.Test2.TestInner.Z) returnType:.Test2.TestInner<.Test2.TestInner.Z> flags:[primary] - $outer: VALUE_PARAMETER name: type:.Test2 flags:[] - VALUE_PARAMETER name:z index:0 type:.Test2.TestInner.Z flags:[] + CONSTRUCTOR visibility:public <> ($this:.Test2, z:Z of .Test2.TestInner) returnType:.Test2.TestInner.Test2.TestInner> [primary] + $outer: VALUE_PARAMETER name: type:.Test2 + VALUE_PARAMETER name:z index:0 type:Z of .Test2.TestInner BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - PROPERTY name:z visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:z type:.Test2.TestInner.Z visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + PROPERTY name:z visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:z type:Z of .Test2.TestInner visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:z index:0 type:.Test2.TestInner.Z flags:[]' type=.Test2.TestInner.Z origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.TestInner<.Test2.TestInner.Z>) returnType:.Test2.TestInner.Z flags:[] - correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test2.TestInner<.Test2.TestInner.Z> flags:[] + GET_VAR 'z: Z of .Test2.TestInner declared in .Test2.TestInner.' type=Z of .Test2.TestInner origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.TestInner.Test2.TestInner>) returnType:Z of .Test2.TestInner + correspondingProperty: PROPERTY name:z visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test2.TestInner.Test2.TestInner> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.TestInner<.Test2.TestInner.Z>) returnType:.Test2.TestInner.Z flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:.Test2.TestInner.Z visibility:public flags:[final]' type=.Test2.TestInner.Z origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test2.TestInner<.Test2.TestInner.Z> flags:[]' type=.Test2.TestInner<.Test2.TestInner.Z> origin=null - CONSTRUCTOR visibility:public <> ($this:.Test2, z:.Test2.TestInner.Z, i:kotlin.Int) returnType:.Test2.TestInner<.Test2.TestInner.Z> flags:[] - $outer: VALUE_PARAMETER name: type:.Test2 flags:[] - VALUE_PARAMETER name:z index:0 type:.Test2.TestInner.Z flags:[] - VALUE_PARAMETER name:i index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): Z of .Test2.TestInner declared in .Test2.TestInner' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:Z of .Test2.TestInner visibility:public [final] ' type=Z of .Test2.TestInner origin=null + receiver: GET_VAR ': .Test2.TestInner.Test2.TestInner> declared in .Test2.TestInner.' type=.Test2.TestInner.Test2.TestInner> origin=null + CONSTRUCTOR visibility:public <> ($this:.Test2, z:Z of .Test2.TestInner, i:kotlin.Int) returnType:.Test2.TestInner.Test2.TestInner> + $outer: VALUE_PARAMETER name: type:.Test2 + VALUE_PARAMETER name:z index:0 type:Z of .Test2.TestInner + VALUE_PARAMETER name:i index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Test2, z:.Test2.TestInner.Z) returnType:.Test2.TestInner<.Test2.TestInner.Z> flags:[primary]' - : .Test2.TestInner.Z - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - z: GET_VAR 'VALUE_PARAMETER name:z index:0 type:.Test2.TestInner.Z flags:[]' type=.Test2.TestInner.Z origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor (z: Z of .Test2.TestInner) [primary] declared in .Test2.TestInner' + : Z of .Test2.TestInner + $this: GET_VAR ': .Test2 declared in .Test2.TestInner.' type=.Test2 origin=null + z: GET_VAR 'z: Z of .Test2.TestInner declared in .Test2.TestInner.' type=Z of .Test2.TestInner origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String) returnType:.Test3 flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String) returnType:.Test3 [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.String EXPRESSION_BODY CONST String type=kotlin.String value="" BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'x: kotlin.Int declared in .Test3.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test3 flags:[] + GET_VAR 'y: kotlin.String declared in .Test3.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.String + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Test3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4<.Test4.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4.Test4> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4<.Test4.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4.Test4> [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4<.Test4.T>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test4<.Test4.T> flags:[] + GET_VAR 'x: kotlin.Int declared in .Test4.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4.Test4>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test4.Test4> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4<.Test4.T>) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test4<.Test4.T> flags:[]' type=.Test4<.Test4.T> origin=null - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test4<.Test4.T> flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test4' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test4.Test4> declared in .Test4.' type=.Test4.Test4> origin=null + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test4.Test4> + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=42 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4<.Test4.T> flags:[primary]' - : .Test4.T - x: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int) [primary] declared in .Test4' + : T of .Test4 + x: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'x: kotlin.Int declared in .Test4.' type=kotlin.Int origin=null + other: GET_VAR 'y: kotlin.Int declared in .Test4.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt index e199d8794ad..354f57148f3 100644 --- a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt +++ b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt @@ -1,156 +1,156 @@ FILE fqName: fileName:/dataClassMembers.kt - CLASS CLASS name:Test modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test<.Test.T> flags:[] + CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:.Test.T, y:kotlin.String) returnType:.Test<.Test.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Test.T flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] + CONSTRUCTOR visibility:public <> (x:T of .Test, y:kotlin.String) returnType:.Test.Test> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Test + VALUE_PARAMETER name:y index:1 type:kotlin.String EXPRESSION_BODY CONST String type=kotlin.String value="" BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.Test.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test.T flags:[]' type=.Test.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] + GET_VAR 'x: T of .Test declared in .Test.' type=T of .Test origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test.Test>) returnType:T of .Test + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Test.T visibility:public flags:[final]' type=.Test.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): T of .Test declared in .Test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test visibility:public [final] ' type=T of .Test origin=null + receiver: GET_VAR ': .Test.Test> declared in .Test.' type=.Test.Test> origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] + GET_VAR 'y: kotlin.String declared in .Test.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test.Test>) returnType:kotlin.String + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Test.Test> declared in .Test.' type=.Test.Test> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test.Test>) returnType:T of .Test + $this: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' type=.Test.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): T of .Test declared in .Test' + CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.component1' type=.Test.Test> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test.Test>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test<.Test.T>, x:.Test.T, y:kotlin.String) returnType:.Test<.Test.T> flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] - VALUE_PARAMETER name:x index:0 type:.Test.T flags:[] + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.String declared in .Test' + CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.component2' type=.Test.Test> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test.Test>, x:T of .Test, y:kotlin.String) returnType:.Test.Test> + $this: VALUE_PARAMETER name: type:.Test.Test> + VALUE_PARAMETER name:x index:0 type:T of .Test EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' type=.Test.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] + CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.copy' type=.Test.Test> origin=null + VALUE_PARAMETER name:y index:1 type:kotlin.String EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null + CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.copy' type=.Test.Test> origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Test<.Test.T>, x:.Test.T, y:kotlin.String) returnType:.Test<.Test.T> flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:.Test.T, y:kotlin.String) returnType:.Test<.Test.T> flags:[primary]' type=.Test<.Test.T> origin=null - : .Test.T - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Test.T flags:[]' type=.Test.T origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: T of .Test, y: kotlin.String): .Test.Test> declared in .Test' + CALL 'public constructor (x: T of .Test, y: kotlin.String) [primary] declared in .Test' type=.Test.Test> origin=null + : T of .Test + x: GET_VAR 'x: T of .Test declared in .Test.copy' type=T of .Test origin=null + y: GET_VAR 'y: kotlin.String declared in .Test.copy' type=kotlin.String origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test.Test>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Test' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' type=.Test.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null + CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.toString' type=.Test.Test> origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="y=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null + CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.toString' type=.Test.Test> origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test<.Test.T>) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test.Test>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test.hashCode' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:.Test.T flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' type=.Test.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:T of .Test [val] + CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.hashCode' type=.Test.Test> origin=null WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:.Test.T flags:[val]' type=.Test.T origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1: T of .Test [val] declared in .Test.hashCode' type=T of .Test origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:.Test.T flags:[val]' type=.Test.T origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp1: T of .Test [val] declared in .Test.hashCode' type=T of .Test origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test<.Test.T>) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test<.Test.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + other: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.hashCode' type=.Test.Test> origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Test' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .Test.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test.Test>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Test.Test> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test<.Test.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .Test.Test> declared in .Test.equals' type=.Test.Test> origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .Test.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test<.Test.T> - typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test<.Test.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Test.Test> + typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test<.Test.T> flags:[val] - TYPE_OP type=.Test<.Test.T> origin=CAST typeOperand=.Test<.Test.T> - typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test.Test> [val] + TYPE_OP type=.Test.Test> origin=CAST typeOperand=.Test.Test> + typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .Test.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' type=.Test.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:.Test.T flags:[]' type=.Test.T origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test<.Test.T> flags:[val]' type=.Test<.Test.T> origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test<.Test.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.equals' type=.Test.Test> origin=null + arg1: CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test.Test> [val] declared in .Test.equals' type=.Test.Test> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.T> flags:[]' type=.Test<.Test.T> origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test<.Test.T> flags:[val]' type=.Test<.Test.T> origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test<.Test.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Test.Test> declared in .Test.equals' type=.Test.Test> origin=null + arg1: CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .Test.Test> [val] declared in .Test.equals' type=.Test.Test> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Test<.Test.T>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Test' CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt index b3df4ac837e..91b6081fc20 100644 --- a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt +++ b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt @@ -1,128 +1,128 @@ FILE fqName: fileName:/defaultPropertyAccessors.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test2 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:testMember1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testMember1 type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:testMember1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testMember1 type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMember1 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMember1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember1 type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - PROPERTY name:testMember2 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember1 type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + PROPERTY name:testMember2 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMember2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMember2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testMember2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testMember2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + value: GET_VAR ': kotlin.Int declared in .Host.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InPrimaryCtor<.InPrimaryCtor.T> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InPrimaryCtor.InPrimaryCtor> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:.InPrimaryCtor.T, testInPrimaryCtor2:kotlin.Int) returnType:.InPrimaryCtor<.InPrimaryCtor.T> flags:[primary] - VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:.InPrimaryCtor.T flags:[] - VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int flags:[] + CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T of .InPrimaryCtor, testInPrimaryCtor2:kotlin.Int) returnType:.InPrimaryCtor.InPrimaryCtor> [primary] + VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T of .InPrimaryCtor + VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=42 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:.InPrimaryCtor.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:T of .InPrimaryCtor visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:.InPrimaryCtor.T flags:[]' type=.InPrimaryCtor.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor<.InPrimaryCtor.T>) returnType:.InPrimaryCtor.T flags:[] - correspondingProperty: PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.InPrimaryCtor<.InPrimaryCtor.T> flags:[] + GET_VAR 'testInPrimaryCtor1: T of .InPrimaryCtor declared in .InPrimaryCtor.' type=T of .InPrimaryCtor origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor.InPrimaryCtor>) returnType:T of .InPrimaryCtor + correspondingProperty: PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.InPrimaryCtor.InPrimaryCtor> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor<.InPrimaryCtor.T>) returnType:.InPrimaryCtor.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:.InPrimaryCtor.T visibility:public flags:[final]' type=.InPrimaryCtor.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.InPrimaryCtor<.InPrimaryCtor.T> flags:[]' type=.InPrimaryCtor<.InPrimaryCtor.T> origin=null - PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .InPrimaryCtor declared in .InPrimaryCtor' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:T of .InPrimaryCtor visibility:public [final] ' type=T of .InPrimaryCtor origin=null + receiver: GET_VAR ': .InPrimaryCtor.InPrimaryCtor> declared in .InPrimaryCtor.' type=.InPrimaryCtor.InPrimaryCtor> origin=null + PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor<.InPrimaryCtor.T>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.InPrimaryCtor<.InPrimaryCtor.T> flags:[] + GET_VAR 'testInPrimaryCtor2: kotlin.Int declared in .InPrimaryCtor.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor.InPrimaryCtor>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.InPrimaryCtor.InPrimaryCtor> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor<.InPrimaryCtor.T>) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.InPrimaryCtor<.InPrimaryCtor.T> flags:[]' type=.InPrimaryCtor<.InPrimaryCtor.T> origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor<.InPrimaryCtor.T>, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.InPrimaryCtor<.InPrimaryCtor.T> flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .InPrimaryCtor' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .InPrimaryCtor.InPrimaryCtor> declared in .InPrimaryCtor.' type=.InPrimaryCtor.InPrimaryCtor> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor.InPrimaryCtor>, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.InPrimaryCtor.InPrimaryCtor> + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.InPrimaryCtor<.InPrimaryCtor.T> flags:[]' type=.InPrimaryCtor<.InPrimaryCtor.T> origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .InPrimaryCtor.InPrimaryCtor> declared in .InPrimaryCtor.' type=.InPrimaryCtor.InPrimaryCtor> origin=null + value: GET_VAR ': kotlin.Int declared in .InPrimaryCtor.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt index 44f7ff5500d..39c81657c72 100644 --- a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt +++ b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt @@ -1,88 +1,88 @@ FILE fqName: fileName:/delegatedMembers.kt - CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase<.IBase.T> flags:[] + CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase.IBase> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase<.IBase.T>, x:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IBase<.IBase.T> flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - PROPERTY name:bar visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBase<.IBase.T>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.IBase<.IBase.T> flags:[] - FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase<.IBase.T>, t:.IBase.T, x:.IBase.qux.X) returnType:kotlin.Unit flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase.IBase>, x:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IBase.IBase> + VALUE_PARAMETER name:x index:0 type:kotlin.Int + PROPERTY name:bar visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBase.IBase>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.IBase.IBase> + FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase.IBase>, t:T of .IBase, x:X of .IBase.qux) returnType:kotlin.Unit TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.IBase<.IBase.T> flags:[] - VALUE_PARAMETER name:t index:0 type:.IBase.T flags:[] - VALUE_PARAMETER name:x index:1 type:.IBase.qux.X flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $this: VALUE_PARAMETER name: type:.IBase.IBase> + VALUE_PARAMETER name:t index:0 type:T of .IBase + VALUE_PARAMETER name:x index:1 type:X of .IBase.qux + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[.IBase<.Test.TT>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test<.Test.TT> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.IBase.Test>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (impl:.IBase<.Test.TT>) returnType:.Test<.Test.TT> flags:[primary] - VALUE_PARAMETER name:impl index:0 type:.IBase<.Test.TT> flags:[] + CONSTRUCTOR visibility:public <> (impl:.IBase.Test>) returnType:.Test.Test> [primary] + VALUE_PARAMETER name:impl index:0 type:.IBase.Test> BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[.IBase<.Test.TT>]' - FIELD DELEGATE name:Test$IBase$delegate type:.IBase<.Test.TT> visibility:private flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.IBase.Test>]' + FIELD DELEGATE name:Test$IBase$delegate type:.IBase.Test> visibility:private [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:impl index:0 type:.IBase<.Test.TT> flags:[]' type=.IBase<.Test.TT> origin=null - FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN ($this:.Test<.Test.TT>, t:.Test.TT, x:.Test.qux.X) returnType:kotlin.Unit flags:[] + GET_VAR 'impl: .IBase.Test> declared in .Test.' type=.IBase.Test> origin=null + FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN ($this:.Test.Test>, t:TT of .Test, x:X of .Test.qux) returnType:kotlin.Unit overridden: - FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase<.IBase.T>, t:.IBase.T, x:.IBase.qux.X) returnType:kotlin.Unit flags:[] + FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase.IBase>, t:T of .IBase, x:X of .IBase.qux) returnType:kotlin.Unit TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Test<.Test.TT> flags:[] - VALUE_PARAMETER name:t index:0 type:.Test.TT flags:[] - VALUE_PARAMETER name:x index:1 type:.Test.qux.X flags:[] + $this: VALUE_PARAMETER name: type:.Test.Test> + VALUE_PARAMETER name:t index:0 type:TT of .Test + VALUE_PARAMETER name:x index:1 type:X of .Test.qux BLOCK_BODY - CALL 'FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase<.IBase.T>, t:.IBase.T, x:.IBase.qux.X) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - : .Test.qux.X - $this: GET_FIELD 'FIELD DELEGATE name:Test$IBase$delegate type:.IBase<.Test.TT> visibility:private flags:[final]' type=.IBase<.Test.TT> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.TT> flags:[]' type=.Test<.Test.TT> origin=null - t: GET_VAR 'VALUE_PARAMETER name:t index:0 type:.Test.TT flags:[]' type=.Test.TT origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:1 type:.Test.qux.X flags:[]' type=.Test.qux.X origin=null - FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.Test<.Test.TT>, x:kotlin.Int) returnType:kotlin.Unit flags:[] + CALL 'public abstract fun qux (t: T of .IBase, x: X of .IBase.qux): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null + : X of .Test.qux + $this: GET_FIELD 'FIELD DELEGATE name:Test$IBase$delegate type:.IBase.Test> visibility:private [final] ' type=.IBase.Test> origin=null + receiver: GET_VAR ': .Test.Test> declared in .Test.qux' type=.Test.Test> origin=null + t: GET_VAR 't: TT of .Test declared in .Test.qux' type=TT of .Test origin=null + x: GET_VAR 'x: X of .Test.qux declared in .Test.qux' type=X of .Test.qux origin=null + FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.Test.Test>, x:kotlin.Int) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase<.IBase.T>, x:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.TT> flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase.IBase>, x:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Test.Test> + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase<.IBase.T>, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test$IBase$delegate type:.IBase<.Test.TT> visibility:private flags:[final]' type=.IBase<.Test.TT> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.TT> flags:[]' type=.Test<.Test.TT> origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY DELEGATED_MEMBER name:bar visibility:public modality:OPEN flags:[val] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test<.Test.TT>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY DELEGATED_MEMBER name:bar visibility:public modality:OPEN flags:[val] + CALL 'public abstract fun foo (x: kotlin.Int): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test$IBase$delegate type:.IBase.Test> visibility:private [final] ' type=.IBase.Test> origin=null + receiver: GET_VAR ': .Test.Test> declared in .Test.foo' type=.Test.Test> origin=null + x: GET_VAR 'x: kotlin.Int declared in .Test.foo' type=kotlin.Int origin=null + PROPERTY DELEGATED_MEMBER name:bar visibility:public modality:OPEN [val] + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test.Test>) returnType:kotlin.Int + correspondingProperty: PROPERTY DELEGATED_MEMBER name:bar visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBase<.IBase.T>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Test<.Test.TT> flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBase.IBase>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test<.Test.TT>) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.IBase<.IBase.T>) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:Test$IBase$delegate type:.IBase<.Test.TT> visibility:private flags:[final]' type=.IBase<.Test.TT> origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test<.Test.TT> flags:[]' type=.Test<.Test.TT> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .Test' + CALL 'public abstract fun (): kotlin.Int declared in .IBase' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:Test$IBase$delegate type:.IBase.Test> visibility:private [final] ' type=.IBase.Test> origin=null + receiver: GET_VAR ': .Test.Test> declared in .Test.' type=.Test.Test> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/parameters/fun.txt b/compiler/testData/ir/irText/declarations/parameters/fun.txt index d2eba230741..eea40864648 100644 --- a/compiler/testData/ir/irText/declarations/parameters/fun.txt +++ b/compiler/testData/ir/irText/declarations/parameters/fun.txt @@ -1,54 +1,54 @@ FILE fqName: fileName:/fun.kt - FUN name:test1 visibility:public modality:FINAL (i:kotlin.Int, j:.test1.T) returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL (i:kotlin.Int, j:T of .test1) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:.test1.T flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:T of .test1 BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + FUN name:test2 visibility:public modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit + VALUE_PARAMETER name:i index:0 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - VALUE_PARAMETER name:j index:1 type:kotlin.String flags:[] + VALUE_PARAMETER name:j index:1 type:kotlin.String EXPRESSION_BODY CONST String type=kotlin.String value="" BLOCK_BODY - FUN name:test3 visibility:public modality:FINAL <> (args:kotlin.Array) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:args index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg] + FUN name:test3 visibility:public modality:FINAL <> (args:kotlin.Array) returnType:kotlin.Unit + VALUE_PARAMETER name:args index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] BLOCK_BODY - FUN name:textExt1 visibility:public modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:kotlin.String flags:[] + FUN name:textExt1 visibility:public modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:kotlin.String BLOCK_BODY - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:testMembetExt1 visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:kotlin.String flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:testMembetExt1 visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:kotlin.String BLOCK_BODY - FUN name:testMembetExt2 visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.String, i:kotlin.Int, j:.Host.testMembetExt2.T) returnType:kotlin.Unit flags:[] + FUN name:testMembetExt2 visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.String, i:kotlin.Int, j:T of .Host.testMembetExt2) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:.Host.testMembetExt2.T flags:[] + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:T of .Host.testMembetExt2 BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt index 2b0019bc350..a1f06a05b03 100644 --- a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt +++ b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt @@ -1,47 +1,47 @@ FILE fqName: fileName:/genericInnerClass.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer<.Outer.T1> flags:[] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Outer<.Outer.T1> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Outer.Outer> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner<.Outer.Inner.T2, .Outer.T1> flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Outer.Inner, T1 of .Outer> TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> ($this:.Outer<.Outer.T1>) returnType:.Outer.Inner<.Outer.Inner.T2, .Outer.T1> flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer<.Outer.T1> flags:[] + CONSTRUCTOR visibility:public <> ($this:.Outer.Outer>) returnType:.Outer.Inner.Outer.Inner, T1 of .Outer> [primary] + $outer: VALUE_PARAMETER name: type:.Outer.Outer> BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL <> ($this:.Outer.Inner<.Outer.Inner.T2, .Outer.T1>, x1:.Outer.T1, x2:.Outer.Inner.T2) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer.Inner<.Outer.Inner.T2, .Outer.T1> flags:[] - VALUE_PARAMETER name:x1 index:0 type:.Outer.T1 flags:[] - VALUE_PARAMETER name:x2 index:1 type:.Outer.Inner.T2 flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.Outer.Inner.Outer.Inner, T1 of .Outer>, x1:T1 of .Outer, x2:T2 of .Outer.Inner) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer.Inner.Outer.Inner, T1 of .Outer> + VALUE_PARAMETER name:x1 index:0 type:T1 of .Outer + VALUE_PARAMETER name:x2 index:1 type:T2 of .Outer.Inner BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/parameters/lambdas.txt b/compiler/testData/ir/irText/declarations/parameters/lambdas.txt index cc53db2df9b..11ed57a09ed 100644 --- a/compiler/testData/ir/irText/declarations/parameters/lambdas.txt +++ b/compiler/testData/ir/irText/declarations/parameters/lambdas.txt @@ -1,63 +1,63 @@ FILE fqName: fileName:/lambdas.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public [final,static] EXPRESSION_BODY BLOCK type=kotlin.Function1 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.String) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:it index:0 type:kotlin.String flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.String) returnType:kotlin.String + VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.String) returnType:kotlin.String flags:[]' - GET_VAR 'VALUE_PARAMETER name:it index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.Function1 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.String): kotlin.String declared in .test1' + GET_VAR 'it: kotlin.String declared in .test1.' type=kotlin.String origin=null + FUNCTION_REFERENCE 'local final fun (it: kotlin.String): kotlin.String declared in .test1' type=kotlin.Function1 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public flags:[final,static]' type=kotlin.Function1 origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function1 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public [final,static] ' type=kotlin.Function1 origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY - BLOCK type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.Any, it:kotlin.Any) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:it index:0 type:kotlin.Any flags:[] + BLOCK type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.Any, it:kotlin.Any) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:it index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.Any, it:kotlin.Any) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:it index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.Any, it:kotlin.Any) returnType:kotlin.Int flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Any): kotlin.Int declared in .test2' + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: GET_VAR 'it: kotlin.Any declared in .test2.' type=kotlin.Any origin=null + FUNCTION_REFERENCE 'local final fun (it: kotlin.Any): kotlin.Int declared in .test2' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 visibility:public flags:[final,static]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function2 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 visibility:public [final,static] ' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY BLOCK type=kotlin.Function2 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Function2 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function2 flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='local final fun (i: kotlin.Int, j: kotlin.Int): kotlin.Unit declared in .test3' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (i: kotlin.Int, j: kotlin.Int): kotlin.Unit declared in .test3' type=kotlin.Function2 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function2 + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function2 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function2 visibility:public flags:[final,static]' type=kotlin.Function2 origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Function2 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function2 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function2 visibility:public [final,static] ' type=kotlin.Function2 origin=null + PROPERTY name:test4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY BLOCK type=kotlin.Function2 origin=ANONYMOUS_FUNCTION - FUN name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:kotlin.Int flags:[] + FUN name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:kotlin.Int BLOCK_BODY - FUNCTION_REFERENCE 'FUN name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Function2 origin=ANONYMOUS_FUNCTION - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function2 flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] + FUNCTION_REFERENCE 'local final fun (i: kotlin.Int, j: kotlin.Int): kotlin.Unit declared in .test4' type=kotlin.Function2 origin=ANONYMOUS_FUNCTION + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function2 + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function2 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Function2 visibility:public flags:[final,static]' type=kotlin.Function2 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function2 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Function2 visibility:public [final,static] ' type=kotlin.Function2 origin=null diff --git a/compiler/testData/ir/irText/declarations/parameters/localFun.txt b/compiler/testData/ir/irText/declarations/parameters/localFun.txt index ce185cb2696..7aba6e264c7 100644 --- a/compiler/testData/ir/irText/declarations/parameters/localFun.txt +++ b/compiler/testData/ir/irText/declarations/parameters/localFun.txt @@ -1,25 +1,25 @@ FILE fqName: fileName:/localFun.kt - FUN name:outer visibility:public modality:FINAL () returnType:kotlin.Unit flags:[] + FUN name:outer visibility:public modality:FINAL () returnType:kotlin.Unit TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY - FUN name:test1 visibility:local modality:FINAL (i:kotlin.Int, j:.outer.test1.T) returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:local modality:FINAL (i:kotlin.Int, j:T of .outer.test1) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:.outer.test1.T flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:T of .outer.test1 BLOCK_BODY - FUN name:test2 visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + FUN name:test2 visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit + VALUE_PARAMETER name:i index:0 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - VALUE_PARAMETER name:j index:1 type:kotlin.String flags:[] + VALUE_PARAMETER name:j index:1 type:kotlin.String EXPRESSION_BODY CONST String type=kotlin.String value="" BLOCK_BODY - FUN name:test3 visibility:local modality:FINAL <> (args:kotlin.Array) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:args index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg] + FUN name:test3 visibility:local modality:FINAL <> (args:kotlin.Array) returnType:kotlin.Unit + VALUE_PARAMETER name:args index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] BLOCK_BODY - FUN name:textExt1 visibility:local modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:.outer.TT) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:.outer.TT flags:[] + FUN name:textExt1 visibility:local modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:TT of .outer) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:TT of .outer BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt index 7796d525f57..98bc550c104 100644 --- a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt +++ b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt @@ -1,144 +1,144 @@ FILE fqName: fileName:/propertyAccessors.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] + PROPERTY name:test2 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - PROPERTY name:testExt1 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testExt1 visibility:public modality:FINAL flags:[val] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:testExt1 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testExt1 visibility:public modality:FINAL [val] + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - PROPERTY name:testExt2 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testExt2 visibility:public modality:FINAL flags:[var] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:testExt2 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testExt2 visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testExt2 visibility:public modality:FINAL flags:[var] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testExt2 visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - PROPERTY name:testExt3 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testExt3 visibility:public modality:FINAL flags:[val] + PROPERTY name:testExt3 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testExt3 visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - PROPERTY name:testExt4 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL flags:[var] + PROPERTY name:testExt4 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL [var] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL ($receiver:..T, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL flags:[var] + FUN name: visibility:public modality:FINAL ($receiver:T of ., value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL [var] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + $receiver: VALUE_PARAMETER name: type:T of . + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host<.Host.T> flags:[] + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.Host> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Host<.Host.T> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Host.Host> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:testMem1 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMem1 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:testMem1 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.Host.Host>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMem1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host.Host> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - PROPERTY name:testMem2 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] + PROPERTY name:testMem2 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($this:.Host.Host>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host.Host> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:FINAL <> ($this:.Host.Host>, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host.Host> + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - PROPERTY name:testMemExt1 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMemExt1 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:testMemExt1 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.Host.Host>, $receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMemExt1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - PROPERTY name:testMemExt2 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.String) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMemExt2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:testMemExt2 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($this:.Host.Host>, $receiver:kotlin.String) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMemExt2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testMemExt2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:FINAL <> ($this:.Host.Host>, $receiver:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testMemExt2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - PROPERTY name:testMemExt3 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TT) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMemExt3 visibility:public modality:FINAL flags:[val] + PROPERTY name:testMemExt3 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TT of .Host.) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMemExt3 visibility:public modality:FINAL [val] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Host..TT flags:[] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:TT of .Host. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TT) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - PROPERTY name:testMemExt4 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TT) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL flags:[var] + PROPERTY name:testMemExt4 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TT of .Host.) returnType:kotlin.Int + correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Host..TT flags:[] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:TT of .Host. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TT) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TT, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL flags:[var] + FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TT of .Host., value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Host..TT flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:TT of .Host. + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt index 364fa1a4227..a9cb0fe9099 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt @@ -1,40 +1,40 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1<.Test1.T, .Test1.U> flags:[] - TYPE_PARAMETER name:T index:0 variance: superTypes:[.Test1.U] + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1, U of .Test1> + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .Test1] TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Test1<.Test1.T, .Test1.U> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Test1.Test1, U of .Test1> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Unit flags:[] - TYPE_PARAMETER name:T index:0 variance: superTypes:[.test2.U] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .test2] TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] BLOCK_BODY - PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL ($receiver:.Test1<..T, ..U>) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[..U] + PROPERTY name:test3 visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL ($receiver:.Test1., U of .>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:.Test1<..T, ..U> flags:[] + $receiver: VALUE_PARAMETER name: type:.Test1., U of .> BLOCK_BODY - FUN name: visibility:public modality:FINAL ($receiver:.Test1<..T, ..U>, value:kotlin.Unit) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[..U] + FUN name: visibility:public modality:FINAL ($receiver:.Test1., U of .>, value:kotlin.Unit) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:.Test1<..T, ..U> flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Unit flags:[] + $receiver: VALUE_PARAMETER name: type:.Test1., U of .> + VALUE_PARAMETER name:value index:0 type:kotlin.Unit BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt index 4e082359e8d..6d3f27a0dda 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt @@ -1,90 +1,90 @@ FILE fqName: fileName:/typeParameterBoundedBySubclass.kt - CLASS CLASS name:Base1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base1<.Base1.T> flags:[] + CLASS CLASS name:Base1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base1.Base1> TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived1] - CONSTRUCTOR visibility:public <> () returnType:.Base1<.Base1.T> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Base1.Base1> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Derived1 modality:FINAL visibility:public flags:[] superTypes:[.Base1<.Derived1>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Derived1 flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base1<.Derived1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1 + CONSTRUCTOR visibility:public <> () returnType:.Derived1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base1<.Base1.T> flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base1' : .Derived1 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public flags:[] superTypes:[.Base1<.Derived1>]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base1<.Derived1>]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Base2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base2 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Base2 flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Base2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base2 + CONSTRUCTOR visibility:public <> () returnType:.Base2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL ($this:.Base2, x:.Base2.foo.T) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL ($this:.Base2, x:T of .Base2.foo) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived2] - $this: VALUE_PARAMETER name: type:.Base2 flags:[] - VALUE_PARAMETER name:x index:0 type:.Base2.foo.T flags:[] + $this: VALUE_PARAMETER name: type:.Base2 + VALUE_PARAMETER name:x index:0 type:T of .Base2.foo BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Derived2 modality:FINAL visibility:public flags:[] superTypes:[.Base2] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived2 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Derived2 flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.Base2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived2 + CONSTRUCTOR visibility:public <> () returnType:.Derived2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base2 flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public flags:[] superTypes:[.Base2]' - FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL ($this:.Base2, x:.Derived2.foo.T) returnType:kotlin.Unit flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.Base2]' + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL ($this:.Base2, x:T of .Derived2.foo) returnType:kotlin.Unit overridden: - FUN name:foo visibility:public modality:FINAL ($this:.Base2, x:.Base2.foo.T) returnType:kotlin.Unit flags:[] + FUN name:foo visibility:public modality:FINAL ($this:.Base2, x:T of .Base2.foo) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived2] - $this: VALUE_PARAMETER name: type:.Base2 flags:[] - VALUE_PARAMETER name:x index:0 type:.Derived2.foo.T flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $this: VALUE_PARAMETER name: type:.Base2 + VALUE_PARAMETER name:x index:0 type:T of .Derived2.foo + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt b/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt index fddc4648a06..729d738ce8f 100644 --- a/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt +++ b/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt @@ -1,34 +1,34 @@ FILE fqName: fileName:/primaryCtorDefaultArguments.kt - CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=0 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test flags:[] + GET_VAR 'x: kotlin.Int declared in .Test.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test flags:[]' type=.Test origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Test declared in .Test.' type=.Test origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt b/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt index a7602fb988a..bd943445a7b 100644 --- a/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt +++ b/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt @@ -1,52 +1,52 @@ FILE fqName: fileName:/primaryCtorProperties.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (test1:kotlin.Int, test2:kotlin.Int) returnType:.C flags:[primary] - VALUE_PARAMETER name:test1 index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:test2 index:1 type:kotlin.Int flags:[] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (test1:kotlin.Int, test2:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:test1 index:0 type:kotlin.Int + VALUE_PARAMETER name:test2 index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:test1 index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'test1: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:test2 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:test2 index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'test2: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt b/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt index 028be1ff3cb..88f38a82aad 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt @@ -1,86 +1,86 @@ FILE fqName: fileName:/differentReceivers.kt - CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyClass flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.MyClass flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + CLASS CLASS name:MyClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyClass + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.MyClass [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.MyClass flags:[] + GET_VAR 'value: kotlin.String declared in .MyClass.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.MyClass BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.MyClass flags:[]' type=.MyClass origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .MyClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .MyClass declared in .MyClass.' type=.MyClass origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:.MyClass flags:[] - VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:.MyClass + VALUE_PARAMETER name:host index:0 type:kotlin.Any? + VALUE_PARAMETER name:p index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.MyClass flags:[]' type=.MyClass origin=null - FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun provideDelegate (host: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' + CALL 'public final fun (): kotlin.String declared in .MyClass' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .MyClass declared in .provideDelegate' type=.MyClass origin=null + FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? + VALUE_PARAMETER name:p index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - PROPERTY name:testO visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:testO$delegate type:kotlin.String visibility:private flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' + GET_VAR ': kotlin.String declared in .getValue' type=kotlin.String origin=null + PROPERTY name:testO visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:testO$delegate type:kotlin.String visibility:private [final,static] EXPRESSION_BODY - CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $receiver: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.MyClass flags:[primary]' type=.MyClass origin=null + CALL 'public final fun provideDelegate (host: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' type=kotlin.String origin=null + $receiver: CALL 'public constructor (value: kotlin.String) [primary] declared in .MyClass' type=.MyClass origin=null value: CONST String type=kotlin.String value="O" host: CONST Null type=kotlin.Nothing? value=null - p: PROPERTY_REFERENCE 'testO: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testO visibility:public modality:FINAL flags:[delegated,val] + p: PROPERTY_REFERENCE 'PROPERTY name:testO visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testO visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $receiver: GET_FIELD 'FIELD DELEGATE name:testO$delegate type:kotlin.String visibility:private flags:[final,static]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' type=kotlin.String origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:testO$delegate type:kotlin.String visibility:private [final,static] ' type=kotlin.String origin=null receiver: CONST Null type=kotlin.Nothing? value=null - p: PROPERTY_REFERENCE 'testO: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:testK visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:testK$delegate type:kotlin.String visibility:private flags:[final,static] + p: PROPERTY_REFERENCE 'PROPERTY name:testO visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:testK visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:testK$delegate type:kotlin.String visibility:private [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="K" - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testK visibility:public modality:FINAL flags:[delegated,val] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testK visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $receiver: GET_FIELD 'FIELD DELEGATE name:testK$delegate type:kotlin.String visibility:private flags:[final,static]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' type=kotlin.String origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:testK$delegate type:kotlin.String visibility:private [final,static] ' type=kotlin.String origin=null receiver: CONST Null type=kotlin.Nothing? value=null - p: PROPERTY_REFERENCE 'testK: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:testOK visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:public flags:[final,static] + p: PROPERTY_REFERENCE 'PROPERTY name:testK visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:testOK visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - other: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testOK visibility:public modality:FINAL flags:[val] + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + other: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testOK visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/local.txt b/compiler/testData/ir/irText/declarations/provideDelegate/local.txt index 72d2e516dbc..d0229b9e1ca 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/local.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/local.txt @@ -1,96 +1,96 @@ FILE fqName: fileName:/local.kt - CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Delegate flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + CLASS CLASS name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Delegate + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Delegate flags:[] + GET_VAR 'value: kotlin.String declared in .Delegate.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Delegate BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Delegate flags:[]' type=.Delegate origin=null - FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Delegate flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Delegate' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Delegate declared in .Delegate.' type=.Delegate origin=null + FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Delegate + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:property index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Delegate flags:[]' type=.Delegate origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in .Delegate' + CALL 'public final fun (): kotlin.String declared in .Delegate' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Delegate declared in .Delegate.getValue' type=.Delegate origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DelegateProvider flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:DelegateProvider modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DelegateProvider + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.DelegateProvider flags:[] + GET_VAR 'value: kotlin.String declared in .DelegateProvider.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.DelegateProvider BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.DelegateProvider flags:[]' type=.DelegateProvider origin=null - FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[] - $this: VALUE_PARAMETER name: type:.DelegateProvider flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .DelegateProvider' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .DelegateProvider declared in .DelegateProvider.' type=.DelegateProvider origin=null + FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate + $this: VALUE_PARAMETER name: type:.DelegateProvider + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:property index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate flags:[primary]' type=.Delegate origin=null - value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.DelegateProvider flags:[]' type=.DelegateProvider origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): .Delegate declared in .DelegateProvider' + CALL 'public constructor (value: kotlin.String) [primary] declared in .Delegate' type=.Delegate origin=null + value: CALL 'public final fun (): kotlin.String declared in .DelegateProvider' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .DelegateProvider declared in .DelegateProvider.provideDelegate' type=.DelegateProvider origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:testMember type:kotlin.String flags:val - VAR DELEGATE name:testMember$delegate type:.Delegate flags:[val] - CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[]' type=.Delegate origin=null - $this: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider flags:[primary]' type=.DelegateProvider origin=null + VAR DELEGATE name:testMember$delegate type:.Delegate [val] + CALL 'public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): .Delegate declared in .DelegateProvider' type=.Delegate origin=null + $this: CALL 'public constructor (value: kotlin.String) [primary] declared in .DelegateProvider' type=.DelegateProvider origin=null value: CONST String type=kotlin.String value="OK" thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='VAR DELEGATE name:testMember$delegate type:.Delegate flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[] + property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='val testMember$delegate: .Delegate [val] declared in .foo' getter='local final fun (): kotlin.String declared in .foo' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_VAR 'VAR DELEGATE name:testMember$delegate type:.Delegate flags:[val]' type=.Delegate origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .foo' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in .Delegate' type=kotlin.String origin=null + $this: GET_VAR 'val testMember$delegate: .Delegate [val] declared in .foo' type=.Delegate origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='VAR DELEGATE name:testMember$delegate type:.Delegate flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='val testMember$delegate: .Delegate [val] declared in .foo' getter='local final fun (): kotlin.String declared in .foo' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt b/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt index e6b4e8df283..424ee165110 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt @@ -1,79 +1,79 @@ FILE fqName: fileName:/localDifferentReceivers.kt - CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyClass flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.MyClass flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + CLASS CLASS name:MyClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyClass + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.MyClass [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.MyClass flags:[] + GET_VAR 'value: kotlin.String declared in .MyClass.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.MyClass BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.MyClass flags:[]' type=.MyClass origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .MyClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .MyClass declared in .MyClass.' type=.MyClass origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:.MyClass flags:[] - VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:.MyClass + VALUE_PARAMETER name:host index:0 type:kotlin.Any? + VALUE_PARAMETER name:p index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyClass) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.MyClass flags:[]' type=.MyClass origin=null - FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun provideDelegate (host: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' + CALL 'public final fun (): kotlin.String declared in .MyClass' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .MyClass declared in .provideDelegate' type=.MyClass origin=null + FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? + VALUE_PARAMETER name:p index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' + GET_VAR ': kotlin.String declared in .getValue' type=kotlin.String origin=null + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:testO type:kotlin.String flags:val - VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val] - CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $receiver: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.MyClass flags:[primary]' type=.MyClass origin=null + VAR DELEGATE name:testO$delegate type:kotlin.String [val] + CALL 'public final fun provideDelegate (host: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' type=kotlin.String origin=null + $receiver: CALL 'public constructor (value: kotlin.String) [primary] declared in .MyClass' type=.MyClass origin=null value: CONST String type=kotlin.String value="O" host: CONST Null type=kotlin.Nothing? value=null - p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[] + p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='val testO$delegate: kotlin.String [val] declared in .box' getter='local final fun (): kotlin.String declared in .box' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $receiver: GET_VAR 'VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box' + CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' type=kotlin.String origin=null + $receiver: GET_VAR 'val testO$delegate: kotlin.String [val] declared in .box' type=kotlin.String origin=null receiver: CONST Null type=kotlin.Nothing? value=null - p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='val testO$delegate: kotlin.String [val] declared in .box' getter='local final fun (): kotlin.String declared in .box' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE LOCAL_DELEGATED_PROPERTY name:testK type:kotlin.String flags:val - VAR DELEGATE name:testK$delegate type:kotlin.String flags:[val] + VAR DELEGATE name:testK$delegate type:kotlin.String [val] CONST String type=kotlin.String value="K" - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[] + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $receiver: GET_VAR 'VAR DELEGATE name:testK$delegate type:kotlin.String flags:[val]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box' + CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in ' type=kotlin.String origin=null + $receiver: GET_VAR 'val testK$delegate: kotlin.String [val] declared in .box' type=kotlin.String origin=null receiver: CONST Null type=kotlin.Nothing? value=null - p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testK: String' delegate='VAR DELEGATE name:testK$delegate type:kotlin.String flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - VAR name:testOK type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_LOCAL_PROPERTY - other: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_LOCAL_PROPERTY - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_VAR 'VAR name:testOK type:kotlin.String flags:[val]' type=kotlin.String origin=null + p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testK: String' delegate='val testK$delegate: kotlin.String [val] declared in .box' getter='local final fun (): kotlin.String declared in .box' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + VAR name:testOK type:kotlin.String [val] + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'local final fun (): kotlin.String declared in .box' type=kotlin.String origin=GET_LOCAL_PROPERTY + other: CALL 'local final fun (): kotlin.String declared in .box' type=kotlin.String origin=GET_LOCAL_PROPERTY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + GET_VAR 'val testOK: kotlin.String [val] declared in .box' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/member.txt b/compiler/testData/ir/irText/declarations/provideDelegate/member.txt index ae768382e3d..ddbae59a74c 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/member.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/member.txt @@ -1,117 +1,117 @@ FILE fqName: fileName:/member.kt - CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Delegate flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + CLASS CLASS name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Delegate + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Delegate flags:[] + GET_VAR 'value: kotlin.String declared in .Delegate.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Delegate BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Delegate flags:[]' type=.Delegate origin=null - FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Delegate flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Delegate' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Delegate declared in .Delegate.' type=.Delegate origin=null + FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Delegate + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:property index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Delegate flags:[]' type=.Delegate origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in .Delegate' + CALL 'public final fun (): kotlin.String declared in .Delegate' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Delegate declared in .Delegate.getValue' type=.Delegate origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DelegateProvider flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:DelegateProvider modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DelegateProvider + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.DelegateProvider flags:[] + GET_VAR 'value: kotlin.String declared in .DelegateProvider.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.DelegateProvider BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.DelegateProvider flags:[]' type=.DelegateProvider origin=null - FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[] - $this: VALUE_PARAMETER name: type:.DelegateProvider flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .DelegateProvider' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .DelegateProvider declared in .DelegateProvider.' type=.DelegateProvider origin=null + FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate + $this: VALUE_PARAMETER name: type:.DelegateProvider + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:property index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate flags:[primary]' type=.Delegate origin=null - value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.DelegateProvider flags:[]' type=.DelegateProvider origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): .Delegate declared in .DelegateProvider' + CALL 'public constructor (value: kotlin.String) [primary] declared in .Delegate' type=.Delegate origin=null + value: CALL 'public final fun (): kotlin.String declared in .DelegateProvider' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .DelegateProvider declared in .DelegateProvider.provideDelegate' type=.DelegateProvider origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:testMember visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:testMember$delegate type:.Delegate visibility:private flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:testMember visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:testMember$delegate type:.Delegate visibility:private [final] EXPRESSION_BODY - CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[]' type=.Delegate origin=null - $this: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider flags:[primary]' type=.DelegateProvider origin=null + CALL 'public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): .Delegate declared in .DelegateProvider' type=.Delegate origin=null + $this: CALL 'public constructor (value: kotlin.String) [primary] declared in .DelegateProvider' type=.DelegateProvider origin=null value: CONST String type=kotlin.String value="OK" - thisRef: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[]' type=.Host origin=null - property: PROPERTY_REFERENCE 'testMember: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty1<.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testMember visibility:public modality:FINAL flags:[delegated,val] - $this: VALUE_PARAMETER name: type:.Host flags:[] + thisRef: GET_VAR ': .Host declared in .Host' type=.Host origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:testMember visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in .Host' setter=null type=kotlin.reflect.KProperty1<.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String + correspondingProperty: PROPERTY name:testMember visibility:public modality:FINAL [delegated,val] + $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:testMember$delegate type:.Delegate visibility:private flags:[final]' type=.Delegate origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - thisRef: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - property: PROPERTY_REFERENCE 'testMember: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty1<.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Host' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in .Delegate' type=kotlin.String origin=null + $this: GET_FIELD 'FIELD DELEGATE name:testMember$delegate type:.Delegate visibility:private [final] ' type=.Delegate origin=null + receiver: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + thisRef: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + property: PROPERTY_REFERENCE 'PROPERTY name:testMember visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in .Host' setter=null type=kotlin.reflect.KProperty1<.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt b/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt index f45393386c2..78b5c1ea2f5 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt @@ -1,102 +1,102 @@ FILE fqName: fileName:/memberExtension.kt - CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Host flags:[primary] + CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:private <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:StringDelegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.StringDelegate flags:[] - CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:.Host.StringDelegate flags:[primary] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:StringDelegate modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.StringDelegate + CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:.Host.StringDelegate [primary] + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:StringDelegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:s visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:StringDelegate modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:s visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host.StringDelegate) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:s visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host.StringDelegate flags:[] + GET_VAR 's: kotlin.String declared in .Host.StringDelegate.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host.StringDelegate) returnType:kotlin.String + correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host.StringDelegate BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host.StringDelegate) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host.StringDelegate flags:[]' type=.Host.StringDelegate origin=null - FUN name:getValue visibility:public modality:FINAL <> ($this:.Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Host.StringDelegate flags:[] - VALUE_PARAMETER name:receiver index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Host.StringDelegate' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Host.StringDelegate declared in .Host.StringDelegate.' type=.Host.StringDelegate origin=null + FUN name:getValue visibility:public modality:FINAL <> ($this:.Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Host.StringDelegate + VALUE_PARAMETER name:receiver index:0 type:kotlin.String + VALUE_PARAMETER name:p index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:.Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: GET_VAR 'VALUE_PARAMETER name:receiver index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - other: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host.StringDelegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Host.StringDelegate flags:[]' type=.Host.StringDelegate origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun getValue (receiver: kotlin.String, p: kotlin.Any): kotlin.String declared in .Host.StringDelegate' + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: GET_VAR 'receiver: kotlin.String declared in .Host.StringDelegate.getValue' type=kotlin.String origin=null + other: CALL 'public final fun (): kotlin.String declared in .Host.StringDelegate' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Host.StringDelegate declared in .Host.StringDelegate.getValue' type=.Host.StringDelegate origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:.Host.StringDelegate flags:[] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] - VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:.Host.StringDelegate + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.String + VALUE_PARAMETER name:host index:0 type:kotlin.Any? + VALUE_PARAMETER name:p index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:.Host.StringDelegate flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:.Host.StringDelegate flags:[primary]' type=.Host.StringDelegate origin=null - s: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - PROPERTY name:plusK visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:plusK$delegate type:.Host.StringDelegate visibility:private flags:[final] + RETURN type=kotlin.Nothing from='public final fun provideDelegate (host: kotlin.Any?, p: kotlin.Any): .Host.StringDelegate declared in .Host' + CALL 'public constructor (s: kotlin.String) [primary] declared in .Host.StringDelegate' type=.Host.StringDelegate origin=null + s: GET_VAR ': kotlin.String declared in .Host.provideDelegate' type=kotlin.String origin=null + PROPERTY name:plusK visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:plusK$delegate type:.Host.StringDelegate visibility:private [final] EXPRESSION_BODY - CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:.Host.StringDelegate flags:[]' type=.Host.StringDelegate origin=null - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[]' type=.Host origin=null + CALL 'public final fun provideDelegate (host: kotlin.Any?, p: kotlin.Any): .Host.StringDelegate declared in .Host' type=.Host.StringDelegate origin=null + $this: GET_VAR ': .Host declared in .Host' type=.Host origin=null $receiver: CONST String type=kotlin.String value="K" - host: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[]' type=.Host origin=null - p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty2.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:plusK visibility:public modality:FINAL flags:[delegated,val] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + host: GET_VAR ': .Host declared in .Host' type=.Host origin=null + p: PROPERTY_REFERENCE 'PROPERTY name:plusK visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in .Host' setter=null type=kotlin.reflect.KProperty2.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.String + correspondingProperty: PROPERTY name:plusK visibility:public modality:FINAL [delegated,val] + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:.Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:plusK$delegate type:.Host.StringDelegate visibility:private flags:[final]' type=.Host.StringDelegate origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty2.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:ok visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Host' + CALL 'public final fun getValue (receiver: kotlin.String, p: kotlin.Any): kotlin.String declared in .Host.StringDelegate' type=kotlin.String origin=null + $this: GET_FIELD 'FIELD DELEGATE name:plusK$delegate type:.Host.StringDelegate visibility:private [final] ' type=.Host.StringDelegate origin=null + receiver: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + receiver: GET_VAR ': kotlin.String declared in .Host.' type=kotlin.String origin=null + p: PROPERTY_REFERENCE 'PROPERTY name:plusK visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in .Host' setter=null type=kotlin.reflect.KProperty2.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:ok visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public [final] EXPRESSION_BODY - CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[]' type=.Host origin=null + CALL 'public final fun (): kotlin.String declared in .Host' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Host declared in .Host' type=.Host origin=null $receiver: CONST String type=kotlin.String value="O" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String + correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Host' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt b/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt index 5695248305f..8387b1307e5 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt @@ -1,96 +1,96 @@ FILE fqName: fileName:/topLevel.kt - CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Delegate flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + CLASS CLASS name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Delegate + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Delegate flags:[] + GET_VAR 'value: kotlin.String declared in .Delegate.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Delegate BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Delegate flags:[]' type=.Delegate origin=null - FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.Delegate flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Delegate' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .Delegate declared in .Delegate.' type=.Delegate origin=null + FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Delegate + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:property index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Delegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Delegate flags:[]' type=.Delegate origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in .Delegate' + CALL 'public final fun (): kotlin.String declared in .Delegate' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Delegate declared in .Delegate.getValue' type=.Delegate origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DelegateProvider flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:DelegateProvider modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DelegateProvider + CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.String BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.DelegateProvider flags:[] + GET_VAR 'value: kotlin.String declared in .DelegateProvider.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.DelegateProvider BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.DelegateProvider flags:[]' type=.DelegateProvider origin=null - FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[] - $this: VALUE_PARAMETER name: type:.DelegateProvider flags:[] - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .DelegateProvider' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .DelegateProvider declared in .DelegateProvider.' type=.DelegateProvider origin=null + FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate + $this: VALUE_PARAMETER name: type:.DelegateProvider + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:property index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.Delegate flags:[primary]' type=.Delegate origin=null - value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DelegateProvider) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.DelegateProvider flags:[]' type=.DelegateProvider origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): .Delegate declared in .DelegateProvider' + CALL 'public constructor (value: kotlin.String) [primary] declared in .Delegate' type=.Delegate origin=null + value: CALL 'public final fun (): kotlin.String declared in .DelegateProvider' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .DelegateProvider declared in .DelegateProvider.provideDelegate' type=.DelegateProvider origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:testTopLevel visibility:public modality:FINAL flags:[delegated,val] - FIELD DELEGATE name:testTopLevel$delegate type:.Delegate visibility:private flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:testTopLevel visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:testTopLevel$delegate type:.Delegate visibility:private [final,static] EXPRESSION_BODY - CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:.Delegate flags:[]' type=.Delegate origin=null - $this: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:.DelegateProvider flags:[primary]' type=.DelegateProvider origin=null + CALL 'public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): .Delegate declared in .DelegateProvider' type=.Delegate origin=null + $this: CALL 'public constructor (value: kotlin.String) [primary] declared in .DelegateProvider' type=.DelegateProvider origin=null value: CONST String type=kotlin.String value="OK" thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testTopLevel visibility:public modality:FINAL flags:[delegated,val] + property: PROPERTY_REFERENCE 'PROPERTY name:testTopLevel visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testTopLevel visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:testTopLevel$delegate type:.Delegate visibility:private flags:[final,static]' type=.Delegate origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in .Delegate' type=kotlin.String origin=null + $this: GET_FIELD 'FIELD DELEGATE name:testTopLevel$delegate type:.Delegate visibility:private [final,static] ' type=.Delegate origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + property: PROPERTY_REFERENCE 'PROPERTY name:testTopLevel visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.String declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE diff --git a/compiler/testData/ir/irText/declarations/typeAlias.txt b/compiler/testData/ir/irText/declarations/typeAlias.txt index 50b2f4c3150..51fe339f908 100644 --- a/compiler/testData/ir/irText/declarations/typeAlias.txt +++ b/compiler/testData/ir/irText/declarations/typeAlias.txt @@ -1,23 +1,23 @@ FILE fqName: fileName:/typeAlias.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY BLOCK type=kotlin.Unit origin=null - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt b/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt index 9e41c23c1c3..b6ca4a329e6 100644 --- a/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt +++ b/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt @@ -1,28 +1,28 @@ FILE fqName: fileName:/suppressedNonPublicCall.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:bar visibility:internal modality:FINAL <> ($this:.C) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:bar visibility:internal modality:FINAL <> ($this:.C) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:foo visibility:public modality:FINAL <> ($receiver:.C) returnType:kotlin.Unit flags:[inline] - $receiver: VALUE_PARAMETER name: type:.C flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($receiver:.C) returnType:kotlin.Unit [inline] + $receiver: VALUE_PARAMETER name: type:.C BLOCK_BODY - CALL 'FUN name:bar visibility:internal modality:FINAL <> ($this:.C) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null + CALL 'internal final fun bar (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR ': .C declared in .foo' type=.C origin=null diff --git a/compiler/testData/ir/irText/errors/unresolvedReference.txt b/compiler/testData/ir/irText/errors/unresolvedReference.txt index b12d07ad464..3838ca2cdc6 100644 --- a/compiler/testData/ir/irText/errors/unresolvedReference.txt +++ b/compiler/testData/ir/irText/errors/unresolvedReference.txt @@ -1,39 +1,39 @@ FILE fqName: fileName:/unresolvedReference.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:ERROR visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:IrErrorType visibility:public [final,static] EXPRESSION_BODY - ERROR_CALL '' type=ERROR - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + ERROR_CALL '' type=IrErrorType + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:IrErrorType + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:ERROR visibility:public flags:[final,static]' type=ERROR origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:ERROR visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): IrErrorType declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:IrErrorType visibility:public [final,static] EXPRESSION_BODY - ERROR_CALL '' type=ERROR - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + ERROR_CALL '' type=IrErrorType + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:IrErrorType + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:ERROR visibility:public flags:[final,static]' type=ERROR origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:ERROR visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): IrErrorType declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:IrErrorType visibility:public [final,static] EXPRESSION_BODY - ERROR_CALL '' type=ERROR + ERROR_CALL '' type=IrErrorType receiver: CONST Int type=kotlin.Int value=42 CONST Int type=kotlin.Int value=56 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:IrErrorType + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:ERROR visibility:public flags:[final,static]' type=ERROR origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test4 type:ERROR visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): IrErrorType declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null + PROPERTY name:test4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test4 type:IrErrorType visibility:public [final,static] EXPRESSION_BODY - ERROR_EXPR '' type=ERROR - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] + ERROR_EXPR '' type=IrErrorType + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:IrErrorType + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:ERROR visibility:public flags:[final,static]' type=ERROR origin=null + RETURN type=kotlin.Nothing from='public final fun (): IrErrorType declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null diff --git a/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt b/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt index b4396563fc1..504ca027fb1 100644 --- a/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt +++ b/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt @@ -1,19 +1,19 @@ FILE fqName: fileName:/argumentMappedWithError.kt - FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:.convert.R flags:[] + FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:R of .convert TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Number] - $receiver: VALUE_PARAMETER name: type:kotlin.Number flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:.convert.R flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null - FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Number) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:arg index:0 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun convert (): R of .convert declared in ' + CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null + FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Number) returnType:kotlin.Unit + VALUE_PARAMETER name:arg index:0 type:kotlin.Number BLOCK_BODY - FUN name:main visibility:public modality:FINAL <> (args:kotlin.Array) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:args index:0 type:kotlin.Array flags:[] + FUN name:main visibility:public modality:FINAL <> (args:kotlin.Array) returnType:kotlin.Unit + VALUE_PARAMETER name:args index:0 type:kotlin.Array BLOCK_BODY - VAR name:x type:kotlin.Int flags:[val] + VAR name:x type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - CALL 'FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Number) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - arg: CALL 'FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:.convert.R flags:[]' type=kotlin.Number origin=null + CALL 'public final fun foo (arg: kotlin.Number): kotlin.Unit declared in ' type=kotlin.Unit origin=null + arg: CALL 'public final fun convert (): R of .convert declared in ' type=kotlin.Number origin=null : kotlin.Number - $receiver: GET_VAR 'VAR name:x type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + $receiver: GET_VAR 'val x: kotlin.Int [val] declared in .main' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/arrayAccess.txt b/compiler/testData/ir/irText/expressions/arrayAccess.txt index d0dcd2f5adb..b43179df899 100644 --- a/compiler/testData/ir/irText/expressions/arrayAccess.txt +++ b/compiler/testData/ir/irText/expressions/arrayAccess.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/arrayAccess.kt - PROPERTY name:p visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:p visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - FUN name:test visibility:public modality:FINAL <> (a:kotlin.IntArray) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags:[] + FUN name:test visibility:public modality:FINAL <> (a:kotlin.IntArray) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.IntArray BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (a:kotlin.IntArray) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + RETURN type=kotlin.Nothing from='public final fun test (a: kotlin.IntArray): kotlin.Int declared in ' + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'a: kotlin.IntArray declared in .test' type=kotlin.IntArray origin=null index: CONST Int type=kotlin.Int value=0 - other: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null - index: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - other: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null - index: CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + other: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'a: kotlin.IntArray declared in .test' type=kotlin.IntArray origin=null + index: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + other: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'a: kotlin.IntArray declared in .test' type=kotlin.IntArray origin=null + index: CALL 'public final fun foo (): kotlin.Int declared in ' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/arrayAssignment.txt b/compiler/testData/ir/irText/expressions/arrayAssignment.txt index 7bbb646bee6..59c302c918d 100644 --- a/compiler/testData/ir/irText/expressions/arrayAssignment.txt +++ b/compiler/testData/ir/irText/expressions/arrayAssignment.txt @@ -1,27 +1,27 @@ FILE fqName: fileName:/arrayAssignment.kt - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.IntArray flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + VAR name:x type:kotlin.IntArray [val] + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VAR name:x type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ + $this: GET_VAR 'val x: kotlin.IntArray [val] declared in .test' type=kotlin.IntArray origin=null index: CONST Int type=kotlin.Int value=1 value: CONST Int type=kotlin.Int value=0 - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ + $this: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - index: CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + index: CALL 'public final fun foo (): kotlin.Int declared in ' type=kotlin.Int origin=null value: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt index a107be443dc..d9ac11868b7 100644 --- a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt +++ b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt @@ -1,97 +1,97 @@ FILE fqName: fileName:/arrayAugmentedAssignment1.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.IntArray BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.IntArray declared in ' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.C flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.IntArray flags:[] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.C [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.IntArray BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.IntArray flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'x: kotlin.IntArray declared in .C.' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.IntArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public flags:[final]' type=kotlin.IntArray origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.IntArray declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:public [final] ' type=kotlin.IntArray origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.IntArray flags:[var] - CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + VAR name:x type:kotlin.IntArray [var] + CALL 'public final fun foo (): kotlin.IntArray declared in ' type=kotlin.IntArray origin=null BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val] - GET_VAR 'VAR name:x type:kotlin.IntArray flags:[var]' type=kotlin.IntArray origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray [val] + GET_VAR 'var x: kotlin.IntArray [var] declared in .testVariable' type=kotlin.IntArray origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testVariable' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testVariable' type=kotlin.Int origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testVariable' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testVariable' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=1 - FUN name:testCall visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:testCall visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY BLOCK type=kotlin.Unit origin=MULTEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val] - CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] - CALL 'FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=MULTEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MULTEQ - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MULTEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray [val] + CALL 'public final fun foo (): kotlin.IntArray declared in ' type=kotlin.IntArray origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] + CALL 'public final fun bar (): kotlin.Int declared in ' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=MULTEQ + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testCall' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testCall' type=kotlin.Int origin=null + value: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ + $this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=MULTEQ + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testCall' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testCall' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=2 - FUN name:testMember visibility:public modality:FINAL <> (c:.C) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:c index:0 type:.C flags:[] + FUN name:testMember visibility:public modality:FINAL <> (c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:c index:0 type:.C BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:c index:0 type:.C flags:[]' type=.C origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray [val] + CALL 'public final fun (): kotlin.IntArray declared in .C' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .testMember' type=.C origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int [val] + CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testMember' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testMember' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testMember' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testMember' type=kotlin.Int origin=null + value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp2: kotlin.Int [val] declared in .testMember' type=kotlin.Int origin=null + GET_VAR 'val tmp2: kotlin.Int [val] declared in .testMember' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt index 265cb899d68..40518424298 100644 --- a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt +++ b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt @@ -1,57 +1,57 @@ FILE fqName: fileName:/arrayAugmentedAssignment2.kt - CLASS INTERFACE name:IA modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IA flags:[] - FUN name:get visibility:public modality:ABSTRACT <> ($this:.IA, index:kotlin.String) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.IA flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IA modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IA + FUN name:get visibility:public modality:ABSTRACT <> ($this:.IA, index:kotlin.String) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.IA + VALUE_PARAMETER name:index index:0 type:kotlin.String + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IB modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IB flags:[] - FUN name:set visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, index:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IB flags:[] - $receiver: VALUE_PARAMETER name: type:.IA flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:value index:1 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IB modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IB + FUN name:set visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, index:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IB + $receiver: VALUE_PARAMETER name: type:.IA + VALUE_PARAMETER name:index index:0 type:kotlin.String + VALUE_PARAMETER name:value index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> ($receiver:.IB, a:.IA) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.IB flags:[] - VALUE_PARAMETER name:a index:0 type:.IA flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($receiver:.IB, a:.IA) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.IB + VALUE_PARAMETER name:a index:0 type:.IA BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.IA flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:.IA flags:[]' type=.IA origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.String flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.IA [val] + GET_VAR 'a: .IA declared in .test' type=.IA origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.String [val] CONST String type=kotlin.String value="" - CALL 'FUN name:set visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, index:kotlin.String, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.IB flags:[]' type=.IB origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.IA flags:[val]' type=.IA origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.String flags:[val]' type=kotlin.String origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN name:get visibility:public modality:ABSTRACT <> ($this:.IA, index:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.IA flags:[val]' type=.IA origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.String flags:[val]' type=kotlin.String origin=null + CALL 'public abstract fun set (index: kotlin.String, value: kotlin.Int): kotlin.Unit declared in .IB' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR ': .IB declared in .test' type=.IB origin=null + $receiver: GET_VAR 'val tmp0_array: .IA [val] declared in .test' type=.IA origin=null + index: GET_VAR 'val tmp1_index0: kotlin.String [val] declared in .test' type=kotlin.String origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public abstract fun get (index: kotlin.String): kotlin.Int declared in .IA' type=kotlin.Int origin=PLUSEQ + $this: GET_VAR 'val tmp0_array: .IA [val] declared in .test' type=.IA origin=null + index: GET_VAR 'val tmp1_index0: kotlin.String [val] declared in .test' type=kotlin.String origin=null other: CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irText/expressions/assignments.txt b/compiler/testData/ir/irText/expressions/assignments.txt index dae592d826a..94a25c2e776 100644 --- a/compiler/testData/ir/irText/expressions/assignments.txt +++ b/compiler/testData/ir/irText/expressions/assignments.txt @@ -1,56 +1,56 @@ FILE fqName: fileName:/assignments.kt - CLASS CLASS name:Ref modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ref flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Ref flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS CLASS name:Ref modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ref + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Ref [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Ref modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Ref modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Ref flags:[] + GET_VAR 'x: kotlin.Int declared in .Ref.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Ref BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Ref flags:[]' type=.Ref origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Ref flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Ref' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Ref declared in .Ref.' type=.Ref origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Ref + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Ref flags:[]' type=.Ref origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Ref declared in .Ref.' type=.Ref origin=null + value: GET_VAR ': kotlin.Int declared in .Ref.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.Int flags:[var] + VAR name:x type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ + SET_VAR 'var x: kotlin.Int [var] declared in .test1' type=kotlin.Unit origin=EQ CONST Int type=kotlin.Int value=1 - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + SET_VAR 'var x: kotlin.Int [var] declared in .test1' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'var x: kotlin.Int [var] declared in .test1' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=1 - FUN name:test2 visibility:public modality:FINAL <> (r:.Ref) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:r index:0 type:.Ref flags:[] + FUN name:test2 visibility:public modality:FINAL <> (r:.Ref) returnType:kotlin.Unit + VALUE_PARAMETER name:r index:0 type:.Ref BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER name:r index:0 type:.Ref flags:[]' type=.Ref origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Ref' type=kotlin.Unit origin=EQ + $this: GET_VAR 'r: .Ref declared in .test2' type=.Ref origin=null : CONST Int type=kotlin.Int value=0 diff --git a/compiler/testData/ir/irText/expressions/augmentedAssignment1.txt b/compiler/testData/ir/irText/expressions/augmentedAssignment1.txt index 9c0e13d586d..8490693fb49 100644 --- a/compiler/testData/ir/irText/expressions/augmentedAssignment1.txt +++ b/compiler/testData/ir/irText/expressions/augmentedAssignment1.txt @@ -1,67 +1,67 @@ FILE fqName: fileName:/augmentedAssignment1.kt - PROPERTY name:p visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static] + PROPERTY name:p visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.Int flags:[var] + VAR name:x type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PLUSEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=PLUSEQ + SET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: GET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Int origin=PLUSEQ other: CONST Int type=kotlin.Int value=1 - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=MINUSEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MINUSEQ - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=MINUSEQ + SET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Unit origin=MINUSEQ + CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUSEQ + $this: GET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Int origin=MINUSEQ other: CONST Int type=kotlin.Int value=2 - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=MULTEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MULTEQ - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=MULTEQ + SET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Unit origin=MULTEQ + CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ + $this: GET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Int origin=MULTEQ other: CONST Int type=kotlin.Int value=3 - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=DIVEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=DIVEQ - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=DIVEQ + SET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Unit origin=DIVEQ + CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIVEQ + $this: GET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Int origin=DIVEQ other: CONST Int type=kotlin.Int value=4 - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PERCEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERCEQ - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=PERCEQ + SET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Unit origin=PERCEQ + CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERCEQ + $this: GET_VAR 'var x: kotlin.Int [var] declared in .testVariable' type=kotlin.Int origin=PERCEQ other: CONST Int type=kotlin.Int value=5 - FUN name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ + : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: CONST Int type=kotlin.Int value=1 BLOCK type=kotlin.Unit origin=MINUSEQ - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=MINUSEQ - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MINUSEQ - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MINUSEQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=MINUSEQ + : CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUSEQ + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=MINUSEQ other: CONST Int type=kotlin.Int value=2 BLOCK type=kotlin.Unit origin=MULTEQ - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=MULTEQ - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MULTEQ - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MULTEQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=MULTEQ + : CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=MULTEQ other: CONST Int type=kotlin.Int value=3 BLOCK type=kotlin.Unit origin=DIVEQ - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=DIVEQ - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=DIVEQ - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=DIVEQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=DIVEQ + : CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIVEQ + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=DIVEQ other: CONST Int type=kotlin.Int value=4 BLOCK type=kotlin.Unit origin=PERCEQ - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PERCEQ - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERCEQ - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERCEQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PERCEQ + : CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERCEQ + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PERCEQ other: CONST Int type=kotlin.Int value=5 diff --git a/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt b/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt index 5a078617775..6284f6f774e 100644 --- a/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt +++ b/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt @@ -1,90 +1,90 @@ FILE fqName: fileName:/augmentedAssignment2.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - FUN name:minusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:minusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - FUN name:timesAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:timesAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - FUN name:divAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:divAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - FUN name:remAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:remAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - PROPERTY name:p visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:p type:.A visibility:public flags:[final,static] + PROPERTY name:p visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:p type:.A visibility:public [final,static] EXPRESSION_BODY - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' type=.A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[val] + CALL 'public constructor () [primary] declared in .A' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:.A visibility:public flags:[final,static]' type=.A origin=null - FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public final fun (): .A declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:.A visibility:public [final,static] ' type=.A origin=null + FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:a type:.A flags:[val] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' type=.A origin=null - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=PLUSEQ + VAR name:a type:.A [val] + CALL 'public constructor () [primary] declared in .A' type=.A origin=null + CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ + $receiver: GET_VAR 'val a: .A [val] declared in .testVariable' type=.A origin=PLUSEQ s: CONST String type=kotlin.String value="+=" - CALL 'FUN name:minusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=MINUSEQ - $receiver: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=MINUSEQ + CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=MINUSEQ + $receiver: GET_VAR 'val a: .A [val] declared in .testVariable' type=.A origin=MINUSEQ s: CONST String type=kotlin.String value="-=" - CALL 'FUN name:timesAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=MULTEQ - $receiver: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=MULTEQ + CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=MULTEQ + $receiver: GET_VAR 'val a: .A [val] declared in .testVariable' type=.A origin=MULTEQ s: CONST String type=kotlin.String value="*=" - CALL 'FUN name:divAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=DIVEQ - $receiver: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=DIVEQ + CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=DIVEQ + $receiver: GET_VAR 'val a: .A [val] declared in .testVariable' type=.A origin=DIVEQ s: CONST String type=kotlin.String value="/=" - CALL 'FUN name:remAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PERCEQ - $receiver: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=PERCEQ + CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=PERCEQ + $receiver: GET_VAR 'val a: .A [val] declared in .testVariable' type=.A origin=PERCEQ s: CONST String type=kotlin.String value="*=" - FUN name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $receiver: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[]' type=.A origin=PLUSEQ + CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ + $receiver: CALL 'public final fun (): .A declared in ' type=.A origin=PLUSEQ s: CONST String type=kotlin.String value="+=" BLOCK type=kotlin.Unit origin=MINUSEQ - CALL 'FUN name:minusAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=MINUSEQ - $receiver: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[]' type=.A origin=MINUSEQ + CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=MINUSEQ + $receiver: CALL 'public final fun (): .A declared in ' type=.A origin=MINUSEQ s: CONST String type=kotlin.String value="-=" BLOCK type=kotlin.Unit origin=MULTEQ - CALL 'FUN name:timesAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=MULTEQ - $receiver: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[]' type=.A origin=MULTEQ + CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=MULTEQ + $receiver: CALL 'public final fun (): .A declared in ' type=.A origin=MULTEQ s: CONST String type=kotlin.String value="*=" BLOCK type=kotlin.Unit origin=DIVEQ - CALL 'FUN name:divAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=DIVEQ - $receiver: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[]' type=.A origin=DIVEQ + CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=DIVEQ + $receiver: CALL 'public final fun (): .A declared in ' type=.A origin=DIVEQ s: CONST String type=kotlin.String value="/=" BLOCK type=kotlin.Unit origin=PERCEQ - CALL 'FUN name:remAssign visibility:public modality:FINAL <> ($receiver:.A, s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PERCEQ - $receiver: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[]' type=.A origin=PERCEQ + CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=PERCEQ + $receiver: CALL 'public final fun (): .A declared in ' type=.A origin=PERCEQ s: CONST String type=kotlin.String value="%=" diff --git a/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt b/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt index f24efc63d66..a207bfa8453 100644 --- a/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt +++ b/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt @@ -1,52 +1,52 @@ FILE fqName: fileName:/augmentedAssignmentWithExpression.kt - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Host flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, x:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Host + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - FUN name:test1 visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Host flags:[] + FUN name:test1 visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=PLUSEQ + CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in .Host' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR ': .Host declared in .Host.test1' type=.Host origin=PLUSEQ x: CONST Int type=kotlin.Int value=1 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:foo visibility:public modality:FINAL <> () returnType:.Host flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> () returnType:.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:.Host flags:[]' - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary]' type=.Host origin=null - FUN name:test2 visibility:public modality:FINAL <> ($receiver:.Host) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.Host flags:[] + RETURN type=kotlin.Nothing from='public final fun foo (): .Host declared in ' + CALL 'public constructor () [primary] declared in .Host' type=.Host origin=null + FUN name:test2 visibility:public modality:FINAL <> ($receiver:.Host) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.Host BLOCK_BODY - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=PLUSEQ + CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in .Host' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR ': .Host declared in .test2' type=.Host origin=PLUSEQ x: CONST Int type=kotlin.Int value=1 - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:.Host flags:[]' type=.Host origin=null + CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in .Host' type=kotlin.Unit origin=PLUSEQ + $this: CALL 'public final fun foo (): .Host declared in ' type=.Host origin=null x: CONST Int type=kotlin.Int value=1 - FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0<.Host>) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0<.Host> flags:[] + FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0<.Host>) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Function0<.Host> BLOCK_BODY - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=.Host origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0<.Host> flags:[]' type=kotlin.Function0<.Host> origin=VARIABLE_AS_FUNCTION + CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in .Host' type=kotlin.Unit origin=PLUSEQ + $this: CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=.Host origin=INVOKE + $this: GET_VAR 'a: kotlin.Function0<.Host> declared in .test4' type=kotlin.Function0<.Host> origin=VARIABLE_AS_FUNCTION x: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/expressions/badBreakContinue.txt b/compiler/testData/ir/irText/expressions/badBreakContinue.txt index a8ba616e350..cf1fd930a00 100644 --- a/compiler/testData/ir/irText/expressions/badBreakContinue.txt +++ b/compiler/testData/ir/irText/expressions/badBreakContinue.txt @@ -1,28 +1,28 @@ FILE fqName: fileName:/badBreakContinue.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY ERROR_EXPR 'Loop not found for break expression: break' type=kotlin.Nothing ERROR_EXPR 'Loop not found for continue expression: continue' type=kotlin.Nothing - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY WHILE label=L1 origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null ERROR_EXPR 'Loop not found for break expression: break@ERROR' type=kotlin.Nothing ERROR_EXPR 'Loop not found for continue expression: continue@ERROR' type=kotlin.Nothing - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY WHILE label=L1 origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null - VAR name:lambda type:kotlin.Function0 flags:[val] + VAR name:lambda type:kotlin.Function0 [val] BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing BLOCK_BODY ERROR_EXPR 'Loop not found for break expression: break@L1' type=kotlin.Nothing ERROR_EXPR 'Loop not found for continue expression: continue@L1' type=kotlin.Nothing - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUNCTION_REFERENCE 'local final fun (): kotlin.Nothing declared in .test3' type=kotlin.Function0 origin=LAMBDA + FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY WHILE label=null origin=WHILE_LOOP condition: ERROR_EXPR 'Loop not found for break expression: break' type=kotlin.Nothing diff --git a/compiler/testData/ir/irText/expressions/bangbang.txt b/compiler/testData/ir/irText/expressions/bangbang.txt index 9bdc439e7da..8e358da4064 100644 --- a/compiler/testData/ir/irText/expressions/bangbang.txt +++ b/compiler/testData/ir/irText/expressions/bangbang.txt @@ -1,45 +1,45 @@ FILE fqName: fileName:/bangbang.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Any flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Any + VALUE_PARAMETER name:a index:0 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Any flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Any?): kotlin.Any declared in ' BLOCK type=kotlin.Any origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Any? [val] + GET_VAR 'a: kotlin.Any? declared in .test1' type=kotlin.Any? origin=null WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_notnull: kotlin.Any? [val] declared in .test1' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'public final fun THROW_NPE (): kotlin.Nothing declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] + then: GET_VAR 'val tmp0_notnull: kotlin.Any? [val] declared in .test1' type=kotlin.Any? origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Any?): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp1_notnull type:kotlin.Int? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp1_notnull type:kotlin.Int? [val] BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + GET_VAR 'a: kotlin.Any? declared in .test2' type=kotlin.Any? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .test2' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .test2' type=kotlin.Any? origin=null WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_notnull type:kotlin.Int? flags:[val]' type=kotlin.Int? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_notnull: kotlin.Int? [val] declared in .test2' type=kotlin.Int? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'public final fun THROW_NPE (): kotlin.Nothing declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_notnull type:kotlin.Int? flags:[val]' type=kotlin.Int? origin=null + then: GET_VAR 'val tmp1_notnull: kotlin.Int? [val] declared in .test2' type=kotlin.Int? origin=null diff --git a/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt b/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt index 6a0967aca10..111f9ca28fc 100644 --- a/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt +++ b/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt @@ -1,27 +1,27 @@ FILE fqName: fileName:/booleanConstsInAndAndOrOr.kt - FUN name:test1 visibility:public modality:FINAL <> (b:kotlin.Boolean) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:[] + FUN name:test1 visibility:public modality:FINAL <> (b:kotlin.Boolean) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] WHEN type=kotlin.Boolean origin=ANDAND BRANCH - if: GET_VAR 'VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - then: RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (b:kotlin.Boolean) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit + if: GET_VAR 'b: kotlin.Boolean declared in .test1' type=kotlin.Boolean origin=null + then: RETURN type=kotlin.Nothing from='public final fun test1 (b: kotlin.Boolean): kotlin.Unit declared in ' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test2 visibility:public modality:FINAL <> (b:kotlin.Boolean) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:[] + FUN name:test2 visibility:public modality:FINAL <> (b:kotlin.Boolean) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] WHEN type=kotlin.Boolean origin=OROR BRANCH - if: GET_VAR 'VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + if: GET_VAR 'b: kotlin.Boolean declared in .test2' type=kotlin.Boolean origin=null then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (b:kotlin.Boolean) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit + then: RETURN type=kotlin.Nothing from='public final fun test2 (b: kotlin.Boolean): kotlin.Unit declared in ' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit diff --git a/compiler/testData/ir/irText/expressions/booleanOperators.txt b/compiler/testData/ir/irText/expressions/booleanOperators.txt index 3211507a50d..cb260d40e35 100644 --- a/compiler/testData/ir/irText/expressions/booleanOperators.txt +++ b/compiler/testData/ir/irText/expressions/booleanOperators.txt @@ -1,41 +1,41 @@ FILE fqName: fileName:/booleanOperators.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Boolean + VALUE_PARAMETER name:b index:1 type:kotlin.Boolean BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH - if: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + if: GET_VAR 'a: kotlin.Boolean declared in .test1' type=kotlin.Boolean origin=null + then: GET_VAR 'b: kotlin.Boolean declared in .test1' type=kotlin.Boolean origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[] + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Boolean + VALUE_PARAMETER name:b index:1 type:kotlin.Boolean BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=OROR BRANCH - if: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + if: GET_VAR 'a: kotlin.Boolean declared in .test2' type=kotlin.Boolean origin=null then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - FUN name:test1x visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[] + then: GET_VAR 'b: kotlin.Boolean declared in .test2' type=kotlin.Boolean origin=null + FUN name:test1x visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Boolean + VALUE_PARAMETER name:b index:1 type:kotlin.Boolean BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1x visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:and visibility:public modality:FINAL <> ($this:kotlin.Boolean, other:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - FUN name:test2x visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun test1x (a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean declared in ' + CALL 'public final fun and (other: kotlin.Boolean): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: kotlin.Boolean declared in .test1x' type=kotlin.Boolean origin=null + other: GET_VAR 'b: kotlin.Boolean declared in .test1x' type=kotlin.Boolean origin=null + FUN name:test2x visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Boolean + VALUE_PARAMETER name:b index:1 type:kotlin.Boolean BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2x visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:or visibility:public modality:FINAL <> ($this:kotlin.Boolean, other:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + RETURN type=kotlin.Nothing from='public final fun test2x (a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean declared in ' + CALL 'public final fun or (other: kotlin.Boolean): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: kotlin.Boolean declared in .test2x' type=kotlin.Boolean origin=null + other: GET_VAR 'b: kotlin.Boolean declared in .test2x' type=kotlin.Boolean origin=null diff --git a/compiler/testData/ir/irText/expressions/boundCallableReferences.txt b/compiler/testData/ir/irText/expressions/boundCallableReferences.txt index abb4e1cd17b..bae238260e8 100644 --- a/compiler/testData/ir/irText/expressions/boundCallableReferences.txt +++ b/compiler/testData/ir/irText/expressions/boundCallableReferences.txt @@ -1,67 +1,67 @@ FILE fqName: fileName:/boundCallableReferences.kt - CLASS CLASS name:A modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:A flags: - CONSTRUCTOR visibility:public <> () returnType:A flags:primary + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN name:foo visibility:public modality:FINAL <> ($this:A) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:A flags: + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - PROPERTY name:bar visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:final + PROPERTY name:bar visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:A flags: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'bar: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@A: A' type=A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN name:qux visibility:public modality:FINAL <> ($receiver:A) returnType:kotlin.Unit flags: - $receiver: VALUE_PARAMETER name: type:A flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:qux visibility:public modality:FINAL <> ($receiver:.A) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - PROPERTY name:test1 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KFunction0 visibility:public flags:final,static + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KFunction0 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction0 origin=null - $this: CALL 'constructor A()' type=A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags: - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:val + FUNCTION_REFERENCE 'public final fun foo (): kotlin.Unit declared in .A' type=kotlin.reflect.KFunction0 origin=null + $this: CALL 'public constructor () [primary] declared in .A' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction0' - GET_FIELD 'test1: KFunction0' type=kotlin.reflect.KFunction0 origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KProperty0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KFunction0 visibility:public [final,static] ' type=kotlin.reflect.KFunction0 origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'bar: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=null - $this: CALL 'constructor A()' type=A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags: - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:bar visibility:public modality:FINAL [val] ' field=null getter='public final fun (): kotlin.Int declared in .A' setter=null type=kotlin.reflect.KProperty0 origin=null + $this: CALL 'public constructor () [primary] declared in .A' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test2: KProperty0' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.reflect.KFunction0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.reflect.KFunction0 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'qux() on A: Unit' type=kotlin.reflect.KFunction0 origin=null - $receiver: CALL 'constructor A()' type=A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags: - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:val + FUNCTION_REFERENCE 'public final fun qux (): kotlin.Unit declared in ' type=kotlin.reflect.KFunction0 origin=null + $receiver: CALL 'public constructor () [primary] declared in .A' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction0' - GET_FIELD 'test3: KFunction0' type=kotlin.reflect.KFunction0 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.reflect.KFunction0 visibility:public [final,static] ' type=kotlin.reflect.KFunction0 origin=null diff --git a/compiler/testData/ir/irText/expressions/boxOk.txt b/compiler/testData/ir/irText/expressions/boxOk.txt index ae2da2ca277..9c594e8355d 100644 --- a/compiler/testData/ir/irText/expressions/boxOk.txt +++ b/compiler/testData/ir/irText/expressions/boxOk.txt @@ -1,5 +1,5 @@ FILE fqName: fileName:/boxOk.kt - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="OK" diff --git a/compiler/testData/ir/irText/expressions/breakContinue.txt b/compiler/testData/ir/irText/expressions/breakContinue.txt index 3910c196ed9..0a0c4bbef0e 100644 --- a/compiler/testData/ir/irText/expressions/breakContinue.txt +++ b/compiler/testData/ir/irText/expressions/breakContinue.txt @@ -1,5 +1,5 @@ FILE fqName: fileName:/breakContinue.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY WHILE label=null origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true @@ -19,7 +19,7 @@ FILE fqName: fileName:/breakContinue.kt body: COMPOSITE type=kotlin.Unit origin=null CONTINUE label=null loop.label=null condition: CONST Boolean type=kotlin.Boolean value=true - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY WHILE label=OUTER origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true @@ -39,7 +39,7 @@ FILE fqName: fileName:/breakContinue.kt CONTINUE label=INNER loop.label=INNER CONTINUE label=OUTER loop.label=OUTER CONTINUE label=OUTER loop.label=OUTER - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY WHILE label=L origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/expressions/breakContinueInLoopHeader.txt b/compiler/testData/ir/irText/expressions/breakContinueInLoopHeader.txt index a4fbbfa3b7e..191ea9a872f 100644 --- a/compiler/testData/ir/irText/expressions/breakContinueInLoopHeader.txt +++ b/compiler/testData/ir/irText/expressions/breakContinueInLoopHeader.txt @@ -1,128 +1,128 @@ FILE fqName: fileName:/breakContinueInLoopHeader.kt - FUN name:test1 visibility:public modality:FINAL <> (c:kotlin.Boolean?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:c index:0 type:kotlin.Boolean? flags:[] + FUN name:test1 visibility:public modality:FINAL <> (c:kotlin.Boolean?) returnType:kotlin.Unit + VALUE_PARAMETER name:c index:0 type:kotlin.Boolean? BLOCK_BODY WHILE label=L origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null WHILE label=L2 origin=WHILE_LOOP condition: BLOCK type=kotlin.Boolean origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? flags:[val] - GET_VAR 'VALUE_PARAMETER name:c index:0 type:kotlin.Boolean? flags:[]' type=kotlin.Boolean? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? [val] + GET_VAR 'c: kotlin.Boolean? declared in .test1' type=kotlin.Boolean? origin=null WHEN type=kotlin.Boolean origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? flags:[val]' type=kotlin.Boolean? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.Boolean? [val] declared in .test1' type=kotlin.Boolean? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: BREAK label=null loop.label=L BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? flags:[val]' type=kotlin.Boolean? origin=null - FUN name:test2 visibility:public modality:FINAL <> (c:kotlin.Boolean?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:c index:0 type:kotlin.Boolean? flags:[] + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.Boolean? [val] declared in .test1' type=kotlin.Boolean? origin=null + FUN name:test2 visibility:public modality:FINAL <> (c:kotlin.Boolean?) returnType:kotlin.Unit + VALUE_PARAMETER name:c index:0 type:kotlin.Boolean? BLOCK_BODY WHILE label=L origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null WHILE label=L2 origin=WHILE_LOOP condition: BLOCK type=kotlin.Boolean origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? flags:[val] - GET_VAR 'VALUE_PARAMETER name:c index:0 type:kotlin.Boolean? flags:[]' type=kotlin.Boolean? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? [val] + GET_VAR 'c: kotlin.Boolean? declared in .test2' type=kotlin.Boolean? origin=null WHEN type=kotlin.Boolean origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? flags:[val]' type=kotlin.Boolean? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.Boolean? [val] declared in .test2' type=kotlin.Boolean? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONTINUE label=null loop.label=L BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Boolean? flags:[val]' type=kotlin.Boolean? origin=null - FUN name:test3 visibility:public modality:FINAL <> (ss:kotlin.collections.List?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List? flags:[] + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.Boolean? [val] declared in .test2' type=kotlin.Boolean? origin=null + FUN name:test3 visibility:public modality:FINAL <> (ss:kotlin.collections.List?) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List? BLOCK_BODY WHILE label=L origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR $this: BLOCK type=kotlin.collections.List origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val] - GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List? flags:[]' type=kotlin.collections.List? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? [val] + GET_VAR 'ss: kotlin.collections.List? declared in .test3' type=kotlin.collections.List? origin=null WHEN type=kotlin.collections.List origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val]' type=kotlin.collections.List? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.collections.List? [val] declared in .test3' type=kotlin.collections.List? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONTINUE label=null loop.label=L BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val]' type=kotlin.collections.List? origin=null + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.collections.List? [val] declared in .test3' type=kotlin.collections.List? origin=null WHILE label=L2 origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .test3' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null - FUN name:test4 visibility:public modality:FINAL <> (ss:kotlin.collections.List?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List? flags:[] + VAR FOR_LOOP_VARIABLE name:s type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .test3' type=kotlin.collections.Iterator origin=null + FUN name:test4 visibility:public modality:FINAL <> (ss:kotlin.collections.List?) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List? BLOCK_BODY WHILE label=L origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR $this: BLOCK type=kotlin.collections.List origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val] - GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List? flags:[]' type=kotlin.collections.List? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? [val] + GET_VAR 'ss: kotlin.collections.List? declared in .test4' type=kotlin.collections.List? origin=null WHEN type=kotlin.collections.List origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val]' type=kotlin.collections.List? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.collections.List? [val] declared in .test4' type=kotlin.collections.List? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: BREAK label=null loop.label=L BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val]' type=kotlin.collections.List? origin=null + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.collections.List? [val] declared in .test4' type=kotlin.collections.List? origin=null WHILE label=L2 origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .test4' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null - FUN name:test5 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + VAR FOR_LOOP_VARIABLE name:s type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .test4' type=kotlin.collections.Iterator origin=null + FUN name:test5 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:i type:kotlin.Int flags:[var] + VAR name:i type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 WHILE label=Outer origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=PREFIX_INCR - SET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PREFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_INCR - GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_INCR - VAR name:j type:kotlin.Int flags:[var] + SET_VAR 'var i: kotlin.Int [var] declared in .test5' type=kotlin.Unit origin=PREFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR + $this: GET_VAR 'var i: kotlin.Int [var] declared in .test5' type=kotlin.Int origin=PREFIX_INCR + GET_VAR 'var i: kotlin.Int [var] declared in .test5' type=kotlin.Int origin=PREFIX_INCR + VAR name:j type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 BLOCK type=kotlin.Unit origin=null DO_WHILE label=Inner origin=DO_WHILE_LOOP body: COMPOSITE type=kotlin.Unit origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=PREFIX_INCR - SET_VAR 'VAR name:j type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PREFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'VAR name:j type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_INCR - GET_VAR 'VAR name:j type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_INCR + SET_VAR 'var j: kotlin.Int [var] declared in .test5' type=kotlin.Unit origin=PREFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR + $this: GET_VAR 'var j: kotlin.Int [var] declared in .test5' type=kotlin.Int origin=PREFIX_INCR + GET_VAR 'var j: kotlin.Int [var] declared in .test5' type=kotlin.Int origin=PREFIX_INCR condition: WHEN type=kotlin.Boolean origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'VAR name:j type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + if: CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: GET_VAR 'var j: kotlin.Int [var] declared in .test5' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=3 then: CONST Boolean type=kotlin.Boolean value=false BRANCH @@ -130,7 +130,7 @@ FILE fqName: fileName:/breakContinueInLoopHeader.kt then: BREAK label=null loop.label=Inner WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'var i: kotlin.Int [var] declared in .test5' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=3 then: BREAK label=null loop.label=Outer diff --git a/compiler/testData/ir/irText/expressions/callWithReorderedArguments.txt b/compiler/testData/ir/irText/expressions/callWithReorderedArguments.txt index 71f24532953..cf0822fb333 100644 --- a/compiler/testData/ir/irText/expressions/callWithReorderedArguments.txt +++ b/compiler/testData/ir/irText/expressions/callWithReorderedArguments.txt @@ -1,42 +1,42 @@ FILE fqName: fileName:/callWithReorderedArguments.kt - FUN name:foo visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + FUN name:foo visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - FUN name:noReorder1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:noReorder1 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:noReorder1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun noReorder1 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - FUN name:noReorder2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:noReorder2 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:noReorder2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun noReorder2 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=2 - FUN name:reordered1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:reordered1 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:reordered1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun reordered1 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - FUN name:reordered2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:reordered2 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:reordered2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun reordered2 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=2 - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - a: CALL 'FUN name:noReorder1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - b: CALL 'FUN name:noReorder2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + CALL 'public final fun foo (a: kotlin.Int, b: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null + a: CALL 'public final fun noReorder1 (): kotlin.Int declared in ' type=kotlin.Int origin=null + b: CALL 'public final fun noReorder2 (): kotlin.Int declared in ' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=ARGUMENTS_REORDERING_FOR_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_b type:kotlin.Int flags:[val] - CALL 'FUN name:reordered1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_a type:kotlin.Int flags:[val] - CALL 'FUN name:reordered2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - CALL 'FUN name:foo visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - a: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_a type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - b: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_b type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_b type:kotlin.Int [val] + CALL 'public final fun reordered1 (): kotlin.Int declared in ' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_a type:kotlin.Int [val] + CALL 'public final fun reordered2 (): kotlin.Int declared in ' type=kotlin.Int origin=null + CALL 'public final fun foo (a: kotlin.Int, b: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null + a: GET_VAR 'val tmp1_a: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + b: GET_VAR 'val tmp0_b: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=ARGUMENTS_REORDERING_FOR_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp2_b type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp2_b type:kotlin.Int [val] CONST Int type=kotlin.Int value=1 - VAR IR_TEMPORARY_VARIABLE name:tmp3_a type:kotlin.Int flags:[val] - CALL 'FUN name:reordered2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - CALL 'FUN name:foo visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - a: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_a type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - b: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_b type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3_a type:kotlin.Int [val] + CALL 'public final fun reordered2 (): kotlin.Int declared in ' type=kotlin.Int origin=null + CALL 'public final fun foo (a: kotlin.Int, b: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null + a: GET_VAR 'val tmp3_a: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + b: GET_VAR 'val tmp2_b: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt index 04aee18afe1..5423183ef47 100644 --- a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt +++ b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt @@ -1,53 +1,53 @@ FILE fqName: fileName:/callableRefToGenericMember.kt - CLASS CLASS name:A modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:A flags: + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:A flags:primary + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN name:foo visibility:public modality:FINAL <> ($this:A) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:A flags: + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.A.A>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A.A> BLOCK_BODY - PROPERTY name:bar visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:final + PROPERTY name:bar visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:A flags: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A.A>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A.A> BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'bar: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@A: A' type=A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A.A> declared in .A.' type=.A.A> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - PROPERTY name:test1 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KFunction1, kotlin.Unit> visibility:public flags:final,static + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KFunction1<.A, kotlin.Unit> visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction1, kotlin.Unit> origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction1, kotlin.Unit> flags: - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:val + FUNCTION_REFERENCE 'public final fun foo (): kotlin.Unit declared in .A' type=kotlin.reflect.KFunction1<.A, kotlin.Unit> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction1<.A, kotlin.Unit> + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction1, Unit>' - GET_FIELD 'test1: KFunction1, Unit>' type=kotlin.reflect.KFunction1, kotlin.Unit> origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KProperty1, kotlin.Int> visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction1<.A, kotlin.Unit> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KFunction1<.A, kotlin.Unit> visibility:public [final,static] ' type=kotlin.reflect.KFunction1<.A, kotlin.Unit> origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KProperty1<.A, kotlin.Int> visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'bar: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty1, kotlin.Int> origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty1, kotlin.Int> flags: - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:bar visibility:public modality:FINAL [val] ' field=null getter='public final fun (): kotlin.Int declared in .A' setter=null type=kotlin.reflect.KProperty1<.A, kotlin.Int> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty1<.A, kotlin.Int> + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty1, Int>' - GET_FIELD 'test2: KProperty1, Int>' type=kotlin.reflect.KProperty1, kotlin.Int> origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty1<.A, kotlin.Int> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KProperty1<.A, kotlin.Int> visibility:public [final,static] ' type=kotlin.reflect.KProperty1<.A, kotlin.Int> origin=null diff --git a/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt b/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt index fe414e5ed00..314c8617c21 100644 --- a/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt @@ -1,76 +1,76 @@ FILE fqName:test fileName:/callableReferenceToImportedFromObject.kt - CLASS OBJECT name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Foo flags:[] - CONSTRUCTOR visibility:private <> () returnType:test.Foo flags:[primary] + CLASS OBJECT name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Foo + CONSTRUCTOR visibility:private <> () returnType:test.Foo [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:a visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public [final] EXPRESSION_BODY CONST String type=kotlin.String value="" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:a visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:test.Foo flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:test.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:test.Foo flags:[]' type=test.Foo origin=null - FUN name:foo visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:test.Foo flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in test.Foo' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': test.Foo declared in test.Foo.' type=test.Foo origin=null + FUN name:foo visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:test.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String declared in test.Foo' CONST String type=kotlin.String value="" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KProperty0 visibility:public flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'a: String' field=null getter='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=test.Foo - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + PROPERTY_REFERENCE 'PROPERTY name:a visibility:public modality:FINAL [val] ' field=null getter='public final fun (): kotlin.String declared in test.Foo' setter=null type=kotlin.reflect.KProperty0 origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' type=test.Foo + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KProperty0 visibility:public flags:[final,static]' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:test1a visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1a type:kotlin.reflect.KProperty0 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:test1a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1a type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'a: String' field=null getter='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0 origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=test.Foo - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags:[] - correspondingProperty: PROPERTY name:test1a visibility:public modality:FINAL flags:[val] + PROPERTY_REFERENCE 'PROPERTY name:a visibility:public modality:FINAL [val] ' field=null getter='public final fun (): kotlin.String declared in test.Foo' setter=null type=kotlin.reflect.KProperty0 origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' type=test.Foo + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test1a visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1a type:kotlin.reflect.KProperty0 visibility:public flags:[final,static]' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KFunction0 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1a type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KFunction0 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'FUN name:foo visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[]' type=kotlin.reflect.KFunction0 origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=test.Foo - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUNCTION_REFERENCE 'public final fun foo (): kotlin.String declared in test.Foo' type=kotlin.reflect.KFunction0 origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' type=test.Foo + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KFunction0 visibility:public flags:[final,static]' type=kotlin.reflect.KFunction0 origin=null - PROPERTY name:test2a visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2a type:kotlin.reflect.KFunction0 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction0 declared in test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KFunction0 visibility:public [final,static] ' type=kotlin.reflect.KFunction0 origin=null + PROPERTY name:test2a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2a type:kotlin.reflect.KFunction0 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'FUN name:foo visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[]' type=kotlin.reflect.KFunction0 origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=test.Foo - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags:[] - correspondingProperty: PROPERTY name:test2a visibility:public modality:FINAL flags:[val] + FUNCTION_REFERENCE 'public final fun foo (): kotlin.String declared in test.Foo' type=kotlin.reflect.KFunction0 origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' type=test.Foo + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 + correspondingProperty: PROPERTY name:test2a visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2a type:kotlin.reflect.KFunction0 visibility:public flags:[final,static]' type=kotlin.reflect.KFunction0 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction0 declared in test' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2a type:kotlin.reflect.KFunction0 visibility:public [final,static] ' type=kotlin.reflect.KFunction0 origin=null diff --git a/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.txt b/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.txt index 487f94165dc..e1727665e59 100644 --- a/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.txt +++ b/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.txt @@ -1,64 +1,64 @@ FILE fqName: fileName:/callableReferenceTypeArguments.kt - CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Host flags:[primary] + CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:private <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:objectMember visibility:public modality:FINAL ($this:.Host, x:.Host.objectMember.T) returnType:kotlin.Unit flags:[inline] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:objectMember visibility:public modality:FINAL ($this:.Host, x:T of .Host.objectMember) returnType:kotlin.Unit [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host flags:[] - VALUE_PARAMETER name:x index:0 type:.Host.objectMember.T flags:[] + $this: VALUE_PARAMETER name: type:.Host + VALUE_PARAMETER name:x index:0 type:T of .Host.objectMember BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:topLevel1 visibility:public modality:FINAL (x:.topLevel1.T) returnType:kotlin.Unit flags:[inline] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:topLevel1 visibility:public modality:FINAL (x:T of .topLevel1) returnType:kotlin.Unit [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:.topLevel1.T flags:[] + VALUE_PARAMETER name:x index:0 type:T of .topLevel1 BLOCK_BODY - FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List<.topLevel2.T>) returnType:kotlin.Unit flags:[inline] + FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List.topLevel2>) returnType:kotlin.Unit [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List<.topLevel2.T> flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.topLevel2> BLOCK_BODY - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'FUN name:topLevel1 visibility:public modality:FINAL (x:.topLevel1.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.reflect.KFunction1<@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String) returnType:kotlin.ParameterName flags:[primary]' type=kotlin.ParameterName origin=null] kotlin.Int, kotlin.Unit> origin=null + FUNCTION_REFERENCE 'public final fun topLevel1 (x: T of .topLevel1): kotlin.Unit [inline] declared in ' type=kotlin.reflect.KFunction1<@[CALL 'public constructor (name: kotlin.String) [primary] declared in kotlin.ParameterName' type=kotlin.ParameterName origin=null] kotlin.Int, kotlin.Unit> origin=null : kotlin.Int - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public flags:[final,static]' type=kotlin.Function1 origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function1, kotlin.Unit> visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function1 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public [final,static] ' type=kotlin.Function1 origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function1, kotlin.Unit> visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List<.topLevel2.T>) returnType:kotlin.Unit flags:[inline]' type=kotlin.reflect.KFunction1<@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String) returnType:kotlin.ParameterName flags:[primary]' type=kotlin.ParameterName origin=null] kotlin.collections.List, kotlin.Unit> origin=null + FUNCTION_REFERENCE 'public final fun topLevel2 (x: kotlin.collections.List.topLevel2>): kotlin.Unit [inline] declared in ' type=kotlin.reflect.KFunction1<@[CALL 'public constructor (name: kotlin.String) [primary] declared in kotlin.ParameterName' type=kotlin.ParameterName origin=null] kotlin.collections.List, kotlin.Unit> origin=null : kotlin.String - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1, kotlin.Unit> flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1, kotlin.Unit> + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1, kotlin.Unit> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function1, kotlin.Unit> visibility:public flags:[final,static]' type=kotlin.Function1, kotlin.Unit> origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function1 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function1, kotlin.Unit> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function1, kotlin.Unit> visibility:public [final,static] ' type=kotlin.Function1, kotlin.Unit> origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function1 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'FUN name:objectMember visibility:public modality:FINAL ($this:.Host, x:.Host.objectMember.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.reflect.KFunction1<@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String) returnType:kotlin.ParameterName flags:[primary]' type=kotlin.ParameterName origin=null] kotlin.Int, kotlin.Unit> origin=null + FUNCTION_REFERENCE 'public final fun objectMember (x: T of .Host.objectMember): kotlin.Unit [inline] declared in .Host' type=kotlin.reflect.KFunction1<@[CALL 'public constructor (name: kotlin.String) [primary] declared in kotlin.ParameterName' type=kotlin.ParameterName origin=null] kotlin.Int, kotlin.Unit> origin=null : kotlin.Int - $this: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Host - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + $this: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Host + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function1 visibility:public flags:[final,static]' type=kotlin.Function1 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function1 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function1 visibility:public [final,static] ' type=kotlin.Function1 origin=null diff --git a/compiler/testData/ir/irText/expressions/calls.txt b/compiler/testData/ir/irText/expressions/calls.txt index 4417d26028c..23ccd20d92f 100644 --- a/compiler/testData/ir/irText/expressions/calls.txt +++ b/compiler/testData/ir/irText/expressions/calls.txt @@ -1,45 +1,45 @@ FILE fqName: fileName:/calls.kt - FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:bar visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' + GET_VAR 'x: kotlin.Int declared in .foo' type=kotlin.Int origin=null + FUN name:bar visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun bar (x: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + x: GET_VAR 'x: kotlin.Int declared in .bar' type=kotlin.Int origin=null y: CONST Int type=kotlin.Int value=1 - FUN name:qux visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN name:qux visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:qux visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - x: CALL 'FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - y: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - y: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:ext1 visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun qux (x: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + x: CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + x: GET_VAR 'x: kotlin.Int declared in .qux' type=kotlin.Int origin=null + y: GET_VAR 'x: kotlin.Int declared in .qux' type=kotlin.Int origin=null + y: GET_VAR 'x: kotlin.Int declared in .qux' type=kotlin.Int origin=null + FUN name:ext1 visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ext1 visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:ext2 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun ext1 (): kotlin.Int declared in ' + GET_VAR ': kotlin.Int declared in .ext1' type=kotlin.Int origin=null + FUN name:ext2 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ext2 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - x: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Int flags:[]' type=kotlin.Int origin=null - y: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:ext3 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun ext2 (x: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + x: GET_VAR ': kotlin.Int declared in .ext2' type=kotlin.Int origin=null + y: GET_VAR 'x: kotlin.Int declared in .ext2' type=kotlin.Int origin=null + FUN name:ext3 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ext3 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - x: CALL 'FUN name:ext1 visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Int flags:[]' type=kotlin.Int origin=null - y: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun ext3 (x: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + x: CALL 'public final fun ext1 (): kotlin.Int declared in ' type=kotlin.Int origin=null + $receiver: GET_VAR ': kotlin.Int declared in .ext3' type=kotlin.Int origin=null + y: GET_VAR 'x: kotlin.Int declared in .ext3' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/castToTypeParameter.txt b/compiler/testData/ir/irText/expressions/castToTypeParameter.txt index 4cd5d81a125..bf05af149bc 100644 --- a/compiler/testData/ir/irText/expressions/castToTypeParameter.txt +++ b/compiler/testData/ir/irText/expressions/castToTypeParameter.txt @@ -1,102 +1,102 @@ FILE fqName: fileName:/castToTypeParameter.kt - FUN name:castFun visibility:public modality:FINAL (x:kotlin.Any) returnType:.castFun.T flags:[] + FUN name:castFun visibility:public modality:FINAL (x:kotlin.Any) returnType:T of .castFun TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:castFun visibility:public modality:FINAL (x:kotlin.Any) returnType:.castFun.T flags:[]' - TYPE_OP type=.castFun.T origin=CAST typeOperand=.castFun.T + RETURN type=kotlin.Nothing from='public final fun castFun (x: kotlin.Any): T of .castFun declared in ' + TYPE_OP type=T of .castFun origin=CAST typeOperand=T of .castFun typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:castExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:.castExtFun.T flags:[] + GET_VAR 'x: kotlin.Any declared in .castFun' type=kotlin.Any origin=null + FUN name:castExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T of .castExtFun TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:castExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:.castExtFun.T flags:[]' - TYPE_OP type=.castExtFun.T origin=CAST typeOperand=.castExtFun.T + RETURN type=kotlin.Nothing from='public final fun castExtFun (): T of .castExtFun declared in ' + TYPE_OP type=T of .castExtFun origin=CAST typeOperand=T of .castExtFun typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Any flags:[]' type=kotlin.Any origin=null - PROPERTY name:castExtVal visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[] - correspondingProperty: PROPERTY name:castExtVal visibility:public modality:FINAL flags:[val] + GET_VAR ': kotlin.Any declared in .castExtFun' type=kotlin.Any origin=null + PROPERTY name:castExtVal visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:T of . + correspondingProperty: PROPERTY name:castExtVal visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[]' - TYPE_OP type=..T origin=CAST typeOperand=..T + RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' + TYPE_OP type=T of . origin=CAST typeOperand=T of . typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:..T flags:[]' type=..T origin=null - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host<.Host.T> flags:[] + GET_VAR ': T of . declared in .' type=T of . origin=null + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.Host> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Host<.Host.T> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Host.Host> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:castMemberFun visibility:public modality:FINAL <> ($this:.Host<.Host.T>, x:kotlin.Any) returnType:.Host.T flags:[] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:castMemberFun visibility:public modality:FINAL <> ($this:.Host.Host>, x:kotlin.Any) returnType:T of .Host + $this: VALUE_PARAMETER name: type:.Host.Host> + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:castMemberFun visibility:public modality:FINAL <> ($this:.Host<.Host.T>, x:kotlin.Any) returnType:.Host.T flags:[]' - TYPE_OP type=.Host.T origin=CAST typeOperand=.Host.T + RETURN type=kotlin.Nothing from='public final fun castMemberFun (x: kotlin.Any): T of .Host declared in .Host' + TYPE_OP type=T of .Host origin=CAST typeOperand=T of .Host typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:castGenericMemberFun visibility:public modality:FINAL ($this:.Host<.Host.T>, x:kotlin.Any) returnType:.Host.castGenericMemberFun.TF flags:[] + GET_VAR 'x: kotlin.Any declared in .Host.castMemberFun' type=kotlin.Any origin=null + FUN name:castGenericMemberFun visibility:public modality:FINAL ($this:.Host.Host>, x:kotlin.Any) returnType:TF of .Host.castGenericMemberFun TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + $this: VALUE_PARAMETER name: type:.Host.Host> + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:castGenericMemberFun visibility:public modality:FINAL ($this:.Host<.Host.T>, x:kotlin.Any) returnType:.Host.castGenericMemberFun.TF flags:[]' - TYPE_OP type=.Host.castGenericMemberFun.TF origin=CAST typeOperand=.Host.castGenericMemberFun.TF + RETURN type=kotlin.Nothing from='public final fun castGenericMemberFun (x: kotlin.Any): TF of .Host.castGenericMemberFun declared in .Host' + TYPE_OP type=TF of .Host.castGenericMemberFun origin=CAST typeOperand=TF of .Host.castGenericMemberFun typeOperand: TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:castMemberExtFun visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.Any) returnType:.Host.T flags:[] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + GET_VAR 'x: kotlin.Any declared in .Host.castGenericMemberFun' type=kotlin.Any origin=null + FUN name:castMemberExtFun visibility:public modality:FINAL <> ($this:.Host.Host>, $receiver:kotlin.Any) returnType:T of .Host + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:castMemberExtFun visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.Any) returnType:.Host.T flags:[]' - TYPE_OP type=.Host.T origin=CAST typeOperand=.Host.T + RETURN type=kotlin.Nothing from='public final fun castMemberExtFun (): T of .Host declared in .Host' + TYPE_OP type=T of .Host origin=CAST typeOperand=T of .Host typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:castGenericMemberExtFun visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:kotlin.Any) returnType:.Host.castGenericMemberExtFun.TF flags:[] + GET_VAR ': kotlin.Any declared in .Host.castMemberExtFun' type=kotlin.Any origin=null + FUN name:castGenericMemberExtFun visibility:public modality:FINAL ($this:.Host.Host>, $receiver:kotlin.Any) returnType:TF of .Host.castGenericMemberExtFun TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:castGenericMemberExtFun visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:kotlin.Any) returnType:.Host.castGenericMemberExtFun.TF flags:[]' - TYPE_OP type=.Host.castGenericMemberExtFun.TF origin=CAST typeOperand=.Host.castGenericMemberExtFun.TF + RETURN type=kotlin.Nothing from='public final fun castGenericMemberExtFun (): TF of .Host.castGenericMemberExtFun declared in .Host' + TYPE_OP type=TF of .Host.castGenericMemberExtFun origin=CAST typeOperand=TF of .Host.castGenericMemberExtFun typeOperand: TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Any flags:[]' type=kotlin.Any origin=null - PROPERTY name:castMemberExtVal visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.Any) returnType:.Host.T flags:[] - correspondingProperty: PROPERTY name:castMemberExtVal visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + GET_VAR ': kotlin.Any declared in .Host.castGenericMemberExtFun' type=kotlin.Any origin=null + PROPERTY name:castMemberExtVal visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.Host.Host>, $receiver:kotlin.Any) returnType:T of .Host + correspondingProperty: PROPERTY name:castMemberExtVal visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.Any) returnType:.Host.T flags:[]' - TYPE_OP type=.Host.T origin=CAST typeOperand=.Host.T + RETURN type=kotlin.Nothing from='public final fun (): T of .Host declared in .Host' + TYPE_OP type=T of .Host origin=CAST typeOperand=T of .Host typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Any flags:[]' type=kotlin.Any origin=null - PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TV) returnType:.Host..TV flags:[] - correspondingProperty: PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL flags:[val] + GET_VAR ': kotlin.Any declared in .Host.' type=kotlin.Any origin=null + PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TV of .Host.) returnType:TV of .Host. + correspondingProperty: PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL [val] TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Host..TV flags:[] + $this: VALUE_PARAMETER name: type:.Host.Host> + $receiver: VALUE_PARAMETER name: type:TV of .Host. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TV) returnType:.Host..TV flags:[]' - TYPE_OP type=.Host..TV origin=CAST typeOperand=.Host..TV + RETURN type=kotlin.Nothing from='public final fun (): TV of .Host. declared in .Host' + TYPE_OP type=TV of .Host. origin=CAST typeOperand=TV of .Host. typeOperand: TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:.Host..TV flags:[]' type=.Host..TV origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + GET_VAR ': TV of .Host. declared in .Host.' type=TV of .Host. origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/catchParameterAccess.txt b/compiler/testData/ir/irText/expressions/catchParameterAccess.txt index 2c81070ae2a..33c52258992 100644 --- a/compiler/testData/ir/irText/expressions/catchParameterAccess.txt +++ b/compiler/testData/ir/irText/expressions/catchParameterAccess.txt @@ -1,14 +1,14 @@ FILE fqName: fileName:/catchParameterAccess.kt - FUN name:test visibility:public modality:FINAL <> (f:kotlin.Function0) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:f index:0 type:kotlin.Function0 flags:[] + FUN name:test visibility:public modality:FINAL <> (f:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:f index:0 type:kotlin.Function0 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (f:kotlin.Function0) returnType:kotlin.Unit flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (f: kotlin.Function0): kotlin.Unit declared in ' TRY type=kotlin.Unit try: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:f index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION - CATCH parameter=VAR CATCH_PARAMETER name:e type:java.lang.Exception flags:[val] - VAR CATCH_PARAMETER name:e type:java.lang.Exception flags:[val] + CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'f: kotlin.Function0 declared in .test' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION + CATCH parameter=val e: java.lang.Exception [val] declared in .test + VAR CATCH_PARAMETER name:e type:java.lang.Exception [val] BLOCK type=kotlin.Nothing origin=null THROW type=kotlin.Nothing - GET_VAR 'VAR CATCH_PARAMETER name:e type:java.lang.Exception flags:[val]' type=java.lang.Exception origin=null + GET_VAR 'val e: java.lang.Exception [val] declared in .test' type=java.lang.Exception origin=null diff --git a/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt b/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt index 2b45b0972da..f04b6884a48 100644 --- a/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt +++ b/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt @@ -1,83 +1,83 @@ FILE fqName: fileName:/chainOfSafeCalls.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL <> ($this:.C) returnType:.C flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.C) returnType:.C + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($this:.C) returnType:.C flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN name:bar visibility:public modality:FINAL <> ($this:.C) returnType:.C? flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] + RETURN type=kotlin.Nothing from='public final fun foo (): .C declared in .C' + GET_VAR ': .C declared in .C.foo' type=.C origin=null + FUN name:bar visibility:public modality:FINAL <> ($this:.C) returnType:.C? + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:FINAL <> ($this:.C) returnType:.C? flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun bar (): .C? declared in .C' + GET_VAR ': .C declared in .C.bar' type=.C origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> (nc:.C?) returnType:.C? flags:[] - VALUE_PARAMETER name:nc index:0 type:.C? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (nc:.C?) returnType:.C? + VALUE_PARAMETER name:nc index:0 type:.C? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (nc:.C?) returnType:.C? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (nc: .C?): .C? declared in ' BLOCK type=.C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.C? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.C? [val] BLOCK type=.C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:.C? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:.C? [val] BLOCK type=.C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.C? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.C? [val] BLOCK type=.C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? flags:[val] - GET_VAR 'VALUE_PARAMETER name:nc index:0 type:.C? flags:[]' type=.C? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? [val] + GET_VAR 'nc: .C? declared in .test' type=.C? origin=null WHEN type=.C? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? flags:[val]' type=.C? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: .C? [val] declared in .test' type=.C? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.C) returnType:.C flags:[]' type=.C origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? flags:[val]' type=.C? origin=null + then: CALL 'public final fun foo (): .C declared in .C' type=.C origin=null + $this: GET_VAR 'val tmp0_safe_receiver: .C? [val] declared in .test' type=.C? origin=null WHEN type=.C? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.C? flags:[val]' type=.C? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_safe_receiver: .C? [val] declared in .test' type=.C? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:bar visibility:public modality:FINAL <> ($this:.C) returnType:.C? flags:[]' type=.C? origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.C? flags:[val]' type=.C? origin=null + then: CALL 'public final fun bar (): .C? declared in .C' type=.C? origin=null + $this: GET_VAR 'val tmp1_safe_receiver: .C? [val] declared in .test' type=.C? origin=null WHEN type=.C? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:.C? flags:[val]' type=.C? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp2_safe_receiver: .C? [val] declared in .test' type=.C? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.C) returnType:.C flags:[]' type=.C origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:.C? flags:[val]' type=.C? origin=null + then: CALL 'public final fun foo (): .C declared in .C' type=.C origin=null + $this: GET_VAR 'val tmp2_safe_receiver: .C? [val] declared in .test' type=.C? origin=null WHEN type=.C? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.C? flags:[val]' type=.C? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp3_safe_receiver: .C? [val] declared in .test' type=.C? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.C) returnType:.C flags:[]' type=.C origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.C? flags:[val]' type=.C? origin=null + then: CALL 'public final fun foo (): .C declared in .C' type=.C origin=null + $this: GET_VAR 'val tmp3_safe_receiver: .C? [val] declared in .test' type=.C? origin=null diff --git a/compiler/testData/ir/irText/expressions/classReference.txt b/compiler/testData/ir/irText/expressions/classReference.txt index 87d0a92714d..f106da56cb5 100644 --- a/compiler/testData/ir/irText/expressions/classReference.txt +++ b/compiler/testData/ir/irText/expressions/classReference.txt @@ -1,40 +1,40 @@ FILE fqName: fileName:/classReference.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CLASS_REFERENCE 'CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CLASS_REFERENCE 'CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] GET_CLASS type=kotlin.reflect.KClass.A> - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor () [primary] declared in .A' type=.A origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL ($receiver:kotlin.reflect.KClass.T>) returnType:java.lang.Class.T> flags:[]' type=java.lang.Class<.A> origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public final fun (): java.lang.Class> declared in kotlin.jvm' type=java.lang.Class<.A> origin=GET_PROPERTY <`0>: .A - $receiver: CLASS_REFERENCE 'CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> + $receiver: CLASS_REFERENCE 'CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL ($receiver:kotlin.reflect.KClass.T>) returnType:java.lang.Class.T> flags:[]' type=java.lang.Class.A> origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public final fun (): java.lang.Class> declared in kotlin.jvm' type=java.lang.Class.A> origin=GET_PROPERTY <`0>: .A $receiver: GET_CLASS type=kotlin.reflect.KClass.A> - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' type=.A origin=null + CALL 'public constructor () [primary] declared in .A' type=.A origin=null diff --git a/compiler/testData/ir/irText/expressions/coercionToUnit.txt b/compiler/testData/ir/irText/expressions/coercionToUnit.txt index f9276fa4a6f..fe854346a6e 100644 --- a/compiler/testData/ir/irText/expressions/coercionToUnit.txt +++ b/compiler/testData/ir/irText/expressions/coercionToUnit.txt @@ -1,59 +1,59 @@ FILE fqName: fileName:/coercionToUnit.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test1' type=kotlin.Function0 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public flags:[final,static]' type=kotlin.Function0 origin=null - FUN name:test2 visibility:public modality:FINAL <> (mc:kotlin.collections.MutableCollection) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:mc index:0 type:kotlin.collections.MutableCollection flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] ' type=kotlin.Function0 origin=null + FUN name:test2 visibility:public modality:FINAL <> (mc:kotlin.collections.MutableCollection) returnType:kotlin.Unit + VALUE_PARAMETER name:mc index:0 type:kotlin.collections.MutableCollection BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.collections.MutableCollection.E) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:mc index:0 type:kotlin.collections.MutableCollection flags:[]' type=kotlin.collections.MutableCollection origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection' type=kotlin.Boolean origin=null + $this: GET_VAR 'mc: kotlin.collections.MutableCollection declared in .test2' type=kotlin.collections.MutableCollection origin=null element: CONST String type=kotlin.String value="" - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Unit? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:java.io.PrintStream? flags:[val] - GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public flags:[final,static]' type=java.io.PrintStream? origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:java.io.PrintStream? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static] ' type=java.io.PrintStream? origin=GET_PROPERTY WHEN type=kotlin.Unit? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:java.io.PrintStream? flags:[val]' type=java.io.PrintStream? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: java.io.PrintStream? [val] declared in .test3' type=java.io.PrintStream? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:println visibility:public modality:OPEN <> ($this:java.io.PrintStream, x:kotlin.String?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:java.io.PrintStream? flags:[val]' type=java.io.PrintStream? origin=null + then: CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null + $this: GET_VAR 'val tmp0_safe_receiver: java.io.PrintStream? [val] declared in .test3' type=java.io.PrintStream? origin=null x: CONST String type=kotlin.String value="Hello," TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Unit? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:java.io.PrintStream? flags:[val] - GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public flags:[final,static]' type=java.io.PrintStream? origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:java.io.PrintStream? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static] ' type=java.io.PrintStream? origin=GET_PROPERTY WHEN type=kotlin.Unit? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:java.io.PrintStream? flags:[val]' type=java.io.PrintStream? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_safe_receiver: java.io.PrintStream? [val] declared in .test3' type=java.io.PrintStream? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:println visibility:public modality:OPEN <> ($this:java.io.PrintStream, x:kotlin.String?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:java.io.PrintStream? flags:[val]' type=java.io.PrintStream? origin=null + then: CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null + $this: GET_VAR 'val tmp1_safe_receiver: java.io.PrintStream? [val] declared in .test3' type=java.io.PrintStream? origin=null x: CONST String type=kotlin.String value="world!" diff --git a/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt b/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt index b79e34b9ac7..efb5178b65d 100644 --- a/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt +++ b/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt @@ -1,271 +1,271 @@ FILE fqName: fileName:/complexAugmentedAssignment.kt - CLASS OBJECT name:X1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X1 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.X1 flags:[primary] + CLASS OBJECT name:X1 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X1 + CONSTRUCTOR visibility:private <> () returnType:.X1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:X1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x1 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x1 type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:X1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x1 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x1 type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x1 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.X1 flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x1 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.X1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x1 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X1 flags:[]' type=.X1 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x1 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.X1 flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .X1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x1 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .X1 declared in .X1.' type=.X1 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x1 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.X1 + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x1 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X1 flags:[]' type=.X1 origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - CLASS OBJECT name:X2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X1.X2 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.X1.X2 flags:[primary] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x1 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .X1 declared in .X1.' type=.X1 origin=null + value: GET_VAR ': kotlin.Int declared in .X1.' type=kotlin.Int origin=null + CLASS OBJECT name:X2 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X1.X2 + CONSTRUCTOR visibility:private <> () returnType:.X1.X2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:X2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x2 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x2 type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:X2 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x2 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x2 type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.X1.X2 flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.X1.X2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X1.X2 flags:[]' type=.X1.X2 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x2 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.X1.X2 flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .X1.X2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x2 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .X1.X2 declared in .X1.X2.' type=.X1.X2 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x2 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.X1.X2 + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x2 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X1.X2 flags:[]' type=.X1.X2 origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - CLASS OBJECT name:X3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X1.X2.X3 flags:[] - CONSTRUCTOR visibility:private <> () returnType:.X1.X2.X3 flags:[primary] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x2 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .X1.X2 declared in .X1.X2.' type=.X1.X2 origin=null + value: GET_VAR ': kotlin.Int declared in .X1.X2.' type=kotlin.Int origin=null + CLASS OBJECT name:X3 modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X1.X2.X3 + CONSTRUCTOR visibility:private <> () returnType:.X1.X2.X3 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:X3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x3 visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x3 type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:X3 modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x3 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x3 type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2.X3) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x3 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.X1.X2.X3 flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2.X3) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x3 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.X1.X2.X3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2.X3) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x3 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X1.X2.X3 flags:[]' type=.X1.X2.X3 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2.X3, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x3 visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.X1.X2.X3 flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .X1.X2.X3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x3 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .X1.X2.X3 declared in .X1.X2.X3.' type=.X1.X2.X3 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2.X3, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x3 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.X1.X2.X3 + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x3 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X1.X2.X3 flags:[]' type=.X1.X2.X3 origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x3 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .X1.X2.X3 declared in .X1.X2.X3.' type=.X1.X2.X3 origin=null + value: GET_VAR ': kotlin.Int declared in .X1.X2.X3.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.IntArray) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.IntArray) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.IntArray BLOCK_BODY - VAR name:i type:kotlin.Int flags:[var] + VAR name:i type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.IntArray flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.IntArray [val] + GET_VAR 'a: kotlin.IntArray declared in .test1' type=kotlin.IntArray origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + GET_VAR 'var i: kotlin.Int [var] declared in .test1' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var i: kotlin.Int [var] declared in .test1' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null + GET_VAR 'val tmp0: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int [val] + CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp1_array: kotlin.IntArray [val] declared in .test1' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp2_index0: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp1_array: kotlin.IntArray [val] declared in .test1' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp2_index0: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null + value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp3: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null + GET_VAR 'val tmp3: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.X1 flags:[val] - GET_OBJECT 'CLASS OBJECT name:X1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.X1 + VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.X1 [val] + GET_OBJECT 'CLASS OBJECT name:X1 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.X1 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.X1 flags:[val]' type=.X1 origin=null - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.X1 flags:[val]' type=.X1 origin=null - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in .X1' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_this: .X1 [val] declared in .test2' type=.X1 origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .X1' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_this: .X1 [val] declared in .test2' type=.X1 origin=null + : CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp1: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null + GET_VAR 'val tmp1: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp2_this type:.X1.X2 flags:[val] - GET_OBJECT 'CLASS OBJECT name:X2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.X1.X2 + VAR IR_TEMPORARY_VARIABLE name:tmp2_this type:.X1.X2 [val] + GET_OBJECT 'CLASS OBJECT name:X2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.X1.X2 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_this type:.X1.X2 flags:[val]' type=.X1.X2 origin=null - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_this type:.X1.X2 flags:[val]' type=.X1.X2 origin=null - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in .X1.X2' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp2_this: .X1.X2 [val] declared in .test2' type=.X1.X2 origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .X1.X2' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp2_this: .X1.X2 [val] declared in .test2' type=.X1.X2 origin=null + : CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp3: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null + GET_VAR 'val tmp3: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp4_this type:.X1.X2.X3 flags:[val] - GET_OBJECT 'CLASS OBJECT name:X3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.X1.X2.X3 + VAR IR_TEMPORARY_VARIABLE name:tmp4_this type:.X1.X2.X3 [val] + GET_OBJECT 'CLASS OBJECT name:X3 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.X1.X2.X3 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2.X3) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_this type:.X1.X2.X3 flags:[val]' type=.X1.X2.X3 origin=null - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X1.X2.X3, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_this type:.X1.X2.X3 flags:[val]' type=.X1.X2.X3 origin=null - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CLASS CLASS name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:public <> (s:kotlin.Int) returnType:.B flags:[primary] - VALUE_PARAMETER name:s index:0 type:kotlin.Int flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in .X1.X2.X3' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp4_this: .X1.X2.X3 [val] declared in .test2' type=.X1.X2.X3 origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .X1.X2.X3' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp4_this: .X1.X2.X3 [val] declared in .test2' type=.X1.X2.X3 origin=null + : CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp5: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null + GET_VAR 'val tmp5: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> (s:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:s index:0 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=0 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:s visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:s visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:s visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.B flags:[] + GET_VAR 's: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.B BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:s visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.B flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Host flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:private <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, $receiver:.B, b:.B) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:.B flags:[] - VALUE_PARAMETER name:b index:0 type:.B flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, $receiver:.B, b:.B) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:b index:0 type:.B BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.B flags:[val] - GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.B flags:[val]' type=.B origin=null - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.B flags:[val]' type=.B origin=null - other: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:b index:0 type:.B flags:[]' type=.B origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.B [val] + GET_VAR ': .B declared in .Host.plusAssign' type=.B origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR 'val tmp0_this: .B [val] declared in .Host.plusAssign' type=.B origin=null + : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=PLUSEQ + $this: GET_VAR 'val tmp0_this: .B [val] declared in .Host.plusAssign' type=.B origin=null + other: CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .Host.plusAssign' type=.B origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test3 visibility:public modality:FINAL <> ($receiver:.Host, v:.B) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.Host flags:[] - VALUE_PARAMETER name:v index:0 type:.B flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test3 visibility:public modality:FINAL <> ($receiver:.Host, v:.B) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.Host + VALUE_PARAMETER name:v index:0 type:.B BLOCK_BODY - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:.Host, $receiver:.B, b:.B) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name:v index:0 type:.B flags:[]' type=.B origin=PLUSEQ - b: CALL 'CONSTRUCTOR visibility:public <> (s:kotlin.Int) returnType:.B flags:[primary]' type=.B origin=null + CALL 'public final fun plusAssign (b: .B): kotlin.Unit declared in .Host' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR ': .Host declared in .test3' type=.Host origin=null + $receiver: GET_VAR 'v: .B declared in .test3' type=.B origin=PLUSEQ + b: CALL 'public constructor (s: kotlin.Int) [primary] declared in .B' type=.B origin=null s: CONST Int type=kotlin.Int value=1000 diff --git a/compiler/testData/ir/irText/expressions/contructorCall.txt b/compiler/testData/ir/irText/expressions/contructorCall.txt index 937c8f86ded..e70481ec3d3 100644 --- a/compiler/testData/ir/irText/expressions/contructorCall.txt +++ b/compiler/testData/ir/irText/expressions/contructorCall.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/contructorCall.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:.A visibility:public flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:.A visibility:public [final,static] EXPRESSION_BODY - CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' type=.A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + CALL 'public constructor () [primary] declared in .A' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.A flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:.A visibility:public flags:[final,static]' type=.A origin=null + RETURN type=kotlin.Nothing from='public final fun (): .A declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:.A visibility:public [final,static] ' type=.A origin=null diff --git a/compiler/testData/ir/irText/expressions/conventionComparisons.txt b/compiler/testData/ir/irText/expressions/conventionComparisons.txt index 98da5de2524..8d4bfaf116b 100644 --- a/compiler/testData/ir/irText/expressions/conventionComparisons.txt +++ b/compiler/testData/ir/irText/expressions/conventionComparisons.txt @@ -1,83 +1,83 @@ FILE fqName: fileName:/conventionComparisons.kt - CLASS INTERFACE name:IA modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IA flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IA modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IA + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IB modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IB flags:[] - FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, other:.IA) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.IB flags:[] - $receiver: VALUE_PARAMETER name: type:.IA flags:[] - VALUE_PARAMETER name:other index:0 type:.IA flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IB modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IB + FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, other:.IA) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.IB + $receiver: VALUE_PARAMETER name: type:.IA + VALUE_PARAMETER name:other index:0 type:.IA + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:.IB flags:[] - VALUE_PARAMETER name:a1 index:0 type:.IA flags:[] - VALUE_PARAMETER name:a2 index:1 type:.IA flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.IB + VALUE_PARAMETER name:a1 index:0 type:.IA + VALUE_PARAMETER name:a2 index:1 type:.IA BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: CALL 'FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, other:.IA) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GT - $this: GET_VAR 'VALUE_PARAMETER name: type:.IB flags:[]' type=.IB origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name:a1 index:0 type:.IA flags:[]' type=.IA origin=null - other: GET_VAR 'VALUE_PARAMETER name:a2 index:1 type:.IA flags:[]' type=.IA origin=null + RETURN type=kotlin.Nothing from='public final fun test1 (a1: .IA, a2: .IA): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: CALL 'public abstract fun compareTo (other: .IA): kotlin.Int declared in .IB' type=kotlin.Int origin=GT + $this: GET_VAR ': .IB declared in .test1' type=.IB origin=null + $receiver: GET_VAR 'a1: .IA declared in .test1' type=.IA origin=null + other: GET_VAR 'a2: .IA declared in .test1' type=.IA origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:test2 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:.IB flags:[] - VALUE_PARAMETER name:a1 index:0 type:.IA flags:[] - VALUE_PARAMETER name:a2 index:1 type:.IA flags:[] + FUN name:test2 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.IB + VALUE_PARAMETER name:a1 index:0 type:.IA + VALUE_PARAMETER name:a2 index:1 type:.IA BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, other:.IA) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GTEQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.IB flags:[]' type=.IB origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name:a1 index:0 type:.IA flags:[]' type=.IA origin=null - other: GET_VAR 'VALUE_PARAMETER name:a2 index:1 type:.IA flags:[]' type=.IA origin=null + RETURN type=kotlin.Nothing from='public final fun test2 (a1: .IA, a2: .IA): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: CALL 'public abstract fun compareTo (other: .IA): kotlin.Int declared in .IB' type=kotlin.Int origin=GTEQ + $this: GET_VAR ': .IB declared in .test2' type=.IB origin=null + $receiver: GET_VAR 'a1: .IA declared in .test2' type=.IA origin=null + other: GET_VAR 'a2: .IA declared in .test2' type=.IA origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:test3 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:.IB flags:[] - VALUE_PARAMETER name:a1 index:0 type:.IA flags:[] - VALUE_PARAMETER name:a2 index:1 type:.IA flags:[] + FUN name:test3 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.IB + VALUE_PARAMETER name:a1 index:0 type:.IA + VALUE_PARAMETER name:a2 index:1 type:.IA BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, other:.IA) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LT - $this: GET_VAR 'VALUE_PARAMETER name: type:.IB flags:[]' type=.IB origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name:a1 index:0 type:.IA flags:[]' type=.IA origin=null - other: GET_VAR 'VALUE_PARAMETER name:a2 index:1 type:.IA flags:[]' type=.IA origin=null + RETURN type=kotlin.Nothing from='public final fun test3 (a1: .IA, a2: .IA): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public abstract fun compareTo (other: .IA): kotlin.Int declared in .IB' type=kotlin.Int origin=LT + $this: GET_VAR ': .IB declared in .test3' type=.IB origin=null + $receiver: GET_VAR 'a1: .IA declared in .test3' type=.IA origin=null + other: GET_VAR 'a2: .IA declared in .test3' type=.IA origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:test4 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:.IB flags:[] - VALUE_PARAMETER name:a1 index:0 type:.IA flags:[] - VALUE_PARAMETER name:a2 index:1 type:.IA flags:[] + FUN name:test4 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.IB + VALUE_PARAMETER name:a1 index:0 type:.IA + VALUE_PARAMETER name:a2 index:1 type:.IA BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> ($receiver:.IB, a1:.IA, a2:.IA) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.IB, $receiver:.IA, other:.IA) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LTEQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.IB flags:[]' type=.IB origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name:a1 index:0 type:.IA flags:[]' type=.IA origin=null - other: GET_VAR 'VALUE_PARAMETER name:a2 index:1 type:.IA flags:[]' type=.IA origin=null + RETURN type=kotlin.Nothing from='public final fun test4 (a1: .IA, a2: .IA): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: CALL 'public abstract fun compareTo (other: .IA): kotlin.Int declared in .IB' type=kotlin.Int origin=LTEQ + $this: GET_VAR ': .IB declared in .test4' type=.IB origin=null + $receiver: GET_VAR 'a1: .IA declared in .test4' type=.IA origin=null + other: GET_VAR 'a2: .IA declared in .test4' type=.IA origin=null arg1: CONST Int type=kotlin.Int value=0 diff --git a/compiler/testData/ir/irText/expressions/destructuring1.txt b/compiler/testData/ir/irText/expressions/destructuring1.txt index 54e5e415031..d3485eec1c1 100644 --- a/compiler/testData/ir/irText/expressions/destructuring1.txt +++ b/compiler/testData/ir/irText/expressions/destructuring1.txt @@ -1,65 +1,65 @@ FILE fqName: fileName:/destructuring1.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:private <> () returnType:.B flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:private <> () returnType:.B [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .B' CONST Int type=kotlin.Int value=1 - FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] + FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.Int declared in .B' CONST Int type=kotlin.Int value=2 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> ($receiver:.B) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.B flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($receiver:.B) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.B BLOCK_BODY COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION - VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A flags:[val] - GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A - VAR name:x type:kotlin.Int flags:[val] - CALL 'FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=COMPONENT_N(index=1) - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A flags:[val]' type=.A origin=null - VAR name:y type:kotlin.Int flags:[val] - CALL 'FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=COMPONENT_N(index=2) - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A flags:[val]' type=.A origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A [val] + GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A + VAR name:x type:kotlin.Int [val] + CALL 'public final fun component1 (): kotlin.Int declared in .B' type=kotlin.Int origin=COMPONENT_N(index=1) + $this: GET_VAR ': .B declared in .test' type=.B origin=null + $receiver: GET_VAR 'val tmp0_container: .A [val] declared in .test' type=.A origin=null + VAR name:y type:kotlin.Int [val] + CALL 'public final fun component2 (): kotlin.Int declared in .B' type=kotlin.Int origin=COMPONENT_N(index=2) + $this: GET_VAR ': .B declared in .test' type=.B origin=null + $receiver: GET_VAR 'val tmp0_container: .A [val] declared in .test' type=.A origin=null diff --git a/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt b/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt index c1b212cf2e4..fc94db55006 100644 --- a/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt +++ b/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt @@ -1,71 +1,71 @@ FILE fqName: fileName:/destructuringWithUnderscore.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:private <> () returnType:.B flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:private <> () returnType:.B [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .B' CONST Int type=kotlin.Int value=1 - FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] + FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.Int declared in .B' CONST Int type=kotlin.Int value=2 - FUN name:component3 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] + FUN name:component3 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:component3 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun component3 (): kotlin.Int declared in .B' CONST Int type=kotlin.Int value=3 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> ($receiver:.B) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.B flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($receiver:.B) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.B BLOCK_BODY COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION - VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A flags:[val] - GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A - VAR name:x type:kotlin.Int flags:[val] - CALL 'FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=COMPONENT_N(index=1) - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A flags:[val]' type=.A origin=null - VAR name:z type:kotlin.Int flags:[val] - CALL 'FUN name:component3 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=COMPONENT_N(index=3) - $this: GET_VAR 'VALUE_PARAMETER name: type:.B flags:[]' type=.B origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A flags:[val]' type=.A origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.A [val] + GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A + VAR name:x type:kotlin.Int [val] + CALL 'public final fun component1 (): kotlin.Int declared in .B' type=kotlin.Int origin=COMPONENT_N(index=1) + $this: GET_VAR ': .B declared in .test' type=.B origin=null + $receiver: GET_VAR 'val tmp0_container: .A [val] declared in .test' type=.A origin=null + VAR name:z type:kotlin.Int [val] + CALL 'public final fun component3 (): kotlin.Int declared in .B' type=kotlin.Int origin=COMPONENT_N(index=3) + $this: GET_VAR ': .B declared in .test' type=.B origin=null + $receiver: GET_VAR 'val tmp0_container: .A [val] declared in .test' type=.A origin=null diff --git a/compiler/testData/ir/irText/expressions/dotQualified.txt b/compiler/testData/ir/irText/expressions/dotQualified.txt index 583e092aa63..bad48c7c037 100644 --- a/compiler/testData/ir/irText/expressions/dotQualified.txt +++ b/compiler/testData/ir/irText/expressions/dotQualified.txt @@ -1,24 +1,24 @@ FILE fqName: fileName:/dotQualified.kt - FUN name:length visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:length visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Int + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:length visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN name:lengthN visibility:public modality:FINAL <> (s:kotlin.String?) returnType:kotlin.Int? flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String? flags:[] + RETURN type=kotlin.Nothing from='public final fun length (s: kotlin.String): kotlin.Int declared in ' + CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 's: kotlin.String declared in .length' type=kotlin.String origin=null + FUN name:lengthN visibility:public modality:FINAL <> (s:kotlin.String?) returnType:kotlin.Int? + VALUE_PARAMETER name:s index:0 type:kotlin.String? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:lengthN visibility:public modality:FINAL <> (s:kotlin.String?) returnType:kotlin.Int? flags:[]' + RETURN type=kotlin.Nothing from='public final fun lengthN (s: kotlin.String?): kotlin.Int? declared in ' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val] - GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? [val] + GET_VAR 's: kotlin.String? declared in .lengthN' type=kotlin.String? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .lengthN' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .lengthN' type=kotlin.String? origin=null diff --git a/compiler/testData/ir/irText/expressions/elvis.txt b/compiler/testData/ir/irText/expressions/elvis.txt index 52d861b3217..ece67f46214 100644 --- a/compiler/testData/ir/irText/expressions/elvis.txt +++ b/compiler/testData/ir/irText/expressions/elvis.txt @@ -1,115 +1,115 @@ FILE fqName: fileName:/elvis.kt - PROPERTY name:p visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Any? visibility:public flags:[final,static] + PROPERTY name:p visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Any? visibility:public [final,static] EXPRESSION_BODY CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Any? visibility:public flags:[final,static]' type=kotlin.Any? origin=null - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Any? visibility:public [final,static] ' type=kotlin.Any? origin=null + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Any? declared in ' CONST Null type=kotlin.Nothing? value=null - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any) returnType:kotlin.Any flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any) returnType:kotlin.Any + VALUE_PARAMETER name:a index:0 type:kotlin.Any? + VALUE_PARAMETER name:b index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any) returnType:kotlin.Any flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Any?, b: kotlin.Any): kotlin.Any declared in ' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? [val] + GET_VAR 'a: kotlin.Any? declared in .test1' type=kotlin.Any? origin=null WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test1' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: GET_VAR 'b: kotlin.Any declared in .test1' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String?, b:kotlin.Any) returnType:kotlin.Any flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String? flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[] + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test1' type=kotlin.Any? origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String?, b:kotlin.Any) returnType:kotlin.Any + VALUE_PARAMETER name:a index:0 type:kotlin.String? + VALUE_PARAMETER name:b index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String?, b:kotlin.Any) returnType:kotlin.Any flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.String?, b: kotlin.Any): kotlin.Any declared in ' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.String? flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.String? [val] + GET_VAR 'a: kotlin.String? declared in .test2' type=kotlin.String? origin=null WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.String? [val] declared in .test2' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: GET_VAR 'b: kotlin.Any declared in .test2' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.String? flags:[val]' type=kotlin.String? origin=null - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Any? flags:[] + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.String? [val] declared in .test2' type=kotlin.String? origin=null + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.String + VALUE_PARAMETER name:a index:0 type:kotlin.Any? + VALUE_PARAMETER name:b index:1 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.String flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'b: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.Any?, b: kotlin.Any?): kotlin.String declared in ' CONST String type=kotlin.String value="" WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.String flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'a: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.Any?, b: kotlin.Any?): kotlin.String declared in ' CONST String type=kotlin.String value="" - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.Any?, b: kotlin.Any?): kotlin.String declared in ' BLOCK type=kotlin.String origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? [val] + GET_VAR 'a: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null WHEN type=kotlin.String origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test3' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'b: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test3' type=kotlin.Any? origin=null + FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[]' + RETURN type=kotlin.Nothing from='public final fun test4 (x: kotlin.Any): kotlin.Any declared in ' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? [val] + CALL 'public final fun (): kotlin.Any? declared in ' type=kotlin.Any? origin=GET_PROPERTY WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test4' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: GET_VAR 'x: kotlin.Any declared in .test4' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test4' type=kotlin.Any? origin=null + FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5 (x: kotlin.Any): kotlin.Any declared in ' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val] - CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? [val] + CALL 'public final fun foo (): kotlin.Any? declared in ' type=kotlin.Any? origin=null WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test5' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: GET_VAR 'x: kotlin.Any declared in .test5' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + then: GET_VAR 'val tmp0_elvis_lhs: kotlin.Any? [val] declared in .test5' type=kotlin.Any? origin=null diff --git a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt index 0b617318cec..67e8d237066 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt @@ -1,147 +1,147 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt - CLASS ENUM_CLASS name:X modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.X>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X flags:[] - CONSTRUCTOR visibility:private <> () returnType:.X flags:[primary] + CLASS ENUM_CLASS name:X modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.X>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X + CONSTRUCTOR visibility:private <> () returnType:.X [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .X - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:X modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.X>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:X modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.X>]' ENUM_ENTRY name:B - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.X.B flags:[primary]' - class: CLASS ENUM_ENTRY name:B modality:FINAL visibility:public flags:[] superTypes:[.X] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X.B flags:[] - CONSTRUCTOR visibility:private <> () returnType:.X.B flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .X.B' + class: CLASS ENUM_ENTRY name:B modality:FINAL visibility:public superTypes:[.X] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X.B + CONSTRUCTOR visibility:private <> () returnType:.X.B [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.X flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:B modality:FINAL visibility:public flags:[] superTypes:[.X]' - PROPERTY name:value2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.String visibility:public flags:[final] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .X' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:B modality:FINAL visibility:public superTypes:[.X]' + PROPERTY name:value2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.String visibility:public [final] EXPRESSION_BODY CONST String type=kotlin.String value="OK" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X.B) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.X.B flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X.B) returnType:kotlin.String + correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.X.B BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X.B) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X.B flags:[]' type=.X.B origin=null - PROPERTY name:value visibility:public modality:OPEN flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Function0 visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .X.B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .X.B declared in .X.B.' type=.X.B origin=null + PROPERTY name:value visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.X.B) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .X.B.value' + CALL 'public final fun (): kotlin.String declared in .X.B' type=kotlin.String origin=GET_PROPERTY $this: GET_ENUM 'ENUM_ENTRY name:B' type=.X.B - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.X.B) returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:OPEN flags:[val] + FUNCTION_REFERENCE 'local final fun (): kotlin.String declared in .X.B.value' type=kotlin.Function0 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.X.B) returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:value visibility:public modality:OPEN [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.Function0 flags:[] - $this: VALUE_PARAMETER name: type:.X.B flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.Function0 + $this: VALUE_PARAMETER name: type:.X.B BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.X.B) returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Function0 visibility:public flags:[final]' type=kotlin.Function0 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.X.B flags:[]' type=.X.B origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Function0 declared in .X.B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Function0 visibility:public [final] ' type=kotlin.Function0 origin=null + receiver: GET_VAR ': .X.B declared in .X.B.' type=.X.B origin=null + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:java.lang.Class<.X?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:java.lang.Class<.X?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:java.lang.Class<.X?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:.X) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:java.lang.Class<.X?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:.X) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:.X) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - VALUE_PARAMETER name:other index:0 type:.X flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:.X) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + VALUE_PARAMETER name:other index:0 type:.X + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.X>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.X>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.X>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - PROPERTY name:value visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.X flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.X>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + PROPERTY name:value visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:value visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.X + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:java.lang.Class<.X?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:java.lang.Class<.X?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:.X) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:.X) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - VALUE_PARAMETER name:other index:0 type:.X flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + VALUE_PARAMETER name:other index:0 type:.X + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.X>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.X>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.X>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.X> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.X> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.X> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.X flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.X + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=kotlin.String origin=INVOKE - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=GET_PROPERTY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.String origin=INVOKE + $this: CALL 'public abstract fun (): kotlin.Function0 declared in .X' type=kotlin.Function0 origin=GET_PROPERTY $this: GET_ENUM 'ENUM_ENTRY name:B' type=.X diff --git a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt index fbda1a4909e..d6ca16a1e80 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt @@ -1,203 +1,203 @@ FILE fqName: fileName:/enumEntryReferenceFromEnumEntryClass.kt - CLASS ENUM_CLASS name:MyEnum modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum flags:[] - CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary] + CLASS ENUM_CLASS name:MyEnum modality:OPEN visibility:public superTypes:[kotlin.Enum<.MyEnum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum + CONSTRUCTOR visibility:private <> () returnType:.MyEnum [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .MyEnum - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:OPEN visibility:public superTypes:[kotlin.Enum<.MyEnum>]' ENUM_ENTRY name:Z - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.MyEnum.Z flags:[primary]' - class: CLASS ENUM_ENTRY name:Z modality:FINAL visibility:public flags:[] superTypes:[.MyEnum] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum.Z flags:[] - CONSTRUCTOR visibility:private <> () returnType:.MyEnum.Z flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .MyEnum.Z' + class: CLASS ENUM_ENTRY name:Z modality:FINAL visibility:public superTypes:[.MyEnum] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum.Z + CONSTRUCTOR visibility:private <> () returnType:.MyEnum.Z [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:Z modality:FINAL visibility:public flags:[] superTypes:[.MyEnum]' - PROPERTY name:counter visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .MyEnum' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:Z modality:FINAL visibility:public superTypes:[.MyEnum]' + PROPERTY name:counter visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Int + correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.MyEnum.Z BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.MyEnum.Z flags:[]' type=.MyEnum.Z origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .MyEnum.Z' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .MyEnum.Z declared in .MyEnum.Z.' type=.MyEnum.Z origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.MyEnum.Z + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.MyEnum.Z flags:[]' type=.MyEnum.Z origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .MyEnum.Z declared in .MyEnum.Z.' type=.MyEnum.Z origin=null + value: GET_VAR ': kotlin.Int declared in .MyEnum.Z.' type=kotlin.Int origin=null + FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.MyEnum.Z BLOCK_BODY - FUN name:bar visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] + FUN name:bar visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.MyEnum.Z BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.MyEnum.Z flags:[]' type=.MyEnum.Z origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .MyEnum.Z declared in .MyEnum.Z.bar' type=.MyEnum.Z origin=null : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.MyEnum.Z flags:[]' type=.MyEnum.Z origin=null - PROPERTY name:aLambda visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public flags:[final] + CALL 'public final fun foo (): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=null + $this: GET_VAR ': .MyEnum.Z declared in .MyEnum.Z.bar' type=.MyEnum.Z origin=null + PROPERTY name:aLambda visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=EQ $this: GET_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z : CONST Int type=kotlin.Int value=1 - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .MyEnum.Z.aLambda' + CALL 'public final fun foo (): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=null $this: GET_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:aLambda visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .MyEnum.Z.aLambda' type=kotlin.Function0 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:aLambda visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.MyEnum.Z BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public flags:[final]' type=kotlin.Function0 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.MyEnum.Z flags:[]' type=.MyEnum.Z origin=null - PROPERTY name:anObject visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in .MyEnum.Z' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] ' type=kotlin.Function0 origin=null + receiver: GET_VAR ': .MyEnum.Z declared in .MyEnum.Z.' type=.MyEnum.Z origin=null + PROPERTY name:anObject visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public [final] EXPRESSION_BODY BLOCK type=.MyEnum.Z.anObject. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum.Z.anObject. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.MyEnum.Z.anObject. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum.Z.anObject. + CONSTRUCTOR visibility:public <> () returnType:.MyEnum.Z.anObject. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=EQ $this: GET_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=null $this: GET_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z - FUN name:test visibility:public modality:FINAL <> ($this:.MyEnum.Z.anObject.) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.MyEnum.Z.anObject. flags:[] + FUN name:test visibility:public modality:FINAL <> ($this:.MyEnum.Z.anObject.) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.MyEnum.Z.anObject. BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=EQ $this: GET_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=null $this: GET_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.MyEnum.Z.anObject. flags:[primary]' type=.MyEnum.Z.anObject. origin=OBJECT_LITERAL - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .MyEnum.Z.anObject.' type=.MyEnum.Z.anObject. origin=OBJECT_LITERAL + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Any + correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.MyEnum.Z BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Any flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public flags:[final]' type=kotlin.Any origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.MyEnum.Z flags:[]' type=.MyEnum.Z origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .MyEnum.Z' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public [final] ' type=kotlin.Any origin=null + receiver: GET_VAR ': .MyEnum.Z declared in .MyEnum.Z.' type=.MyEnum.Z origin=null + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:.MyEnum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:.MyEnum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:java.lang.Class<.MyEnum?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:.MyEnum) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:.MyEnum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:.MyEnum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.MyEnum> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.MyEnum> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.MyEnum + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/expressions/equality.txt b/compiler/testData/ir/irText/expressions/equality.txt index 06d517ff479..1e4162873c3 100644 --- a/compiler/testData/ir/irText/expressions/equality.txt +++ b/compiler/testData/ir/irText/expressions/equality.txt @@ -1,26 +1,26 @@ FILE fqName: fileName:/equality.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'a: kotlin.Int declared in .test1' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .test1' type=kotlin.Int origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'a: kotlin.Int declared in .test2' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .test2' type=kotlin.Int origin=null + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Any? + VALUE_PARAMETER name:b index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.Any?, b: kotlin.Any?): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'a: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null + arg1: GET_VAR 'b: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null diff --git a/compiler/testData/ir/irText/expressions/extFunInvokeAsFun.txt b/compiler/testData/ir/irText/expressions/extFunInvokeAsFun.txt index 4a6e0faffb6..597f76658c3 100644 --- a/compiler/testData/ir/irText/expressions/extFunInvokeAsFun.txt +++ b/compiler/testData/ir/irText/expressions/extFunInvokeAsFun.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/extFunInvokeAsFun.kt - FUN name:with1 visibility:public modality:FINAL <> (receiver:kotlin.Any?, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:block index:1 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags:[] + FUN name:with1 visibility:public modality:FINAL <> (receiver:kotlin.Any?, block:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit + VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? + VALUE_PARAMETER name:block index:1 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:with1 visibility:public modality:FINAL <> (receiver:kotlin.Any?, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function1, p1:kotlin.Function1.P1) returnType:kotlin.Function1.R flags:[]' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:block index:1 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - FUN name:with2 visibility:public modality:FINAL <> (receiver:kotlin.Any?, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:block index:1 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags:[] + RETURN type=kotlin.Nothing from='public final fun with1 (receiver: kotlin.Any?, block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): kotlin.Unit declared in ' + CALL 'public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 declared in .with1' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION + p1: GET_VAR 'receiver: kotlin.Any? declared in .with1' type=kotlin.Any? origin=null + FUN name:with2 visibility:public modality:FINAL <> (receiver:kotlin.Any?, block:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit + VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? + VALUE_PARAMETER name:block index:1 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:with2 visibility:public modality:FINAL <> (receiver:kotlin.Any?, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function1, p1:kotlin.Function1.P1) returnType:kotlin.Function1.R flags:[]' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:block index:1 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + RETURN type=kotlin.Nothing from='public final fun with2 (receiver: kotlin.Any?, block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): kotlin.Unit declared in ' + CALL 'public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 declared in .with2' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION + p1: GET_VAR 'receiver: kotlin.Any? declared in .with2' type=kotlin.Any? origin=null diff --git a/compiler/testData/ir/irText/expressions/extFunSafeInvoke.txt b/compiler/testData/ir/irText/expressions/extFunSafeInvoke.txt index 0192ad90a46..93b6d403cdc 100644 --- a/compiler/testData/ir/irText/expressions/extFunSafeInvoke.txt +++ b/compiler/testData/ir/irText/expressions/extFunSafeInvoke.txt @@ -1,22 +1,22 @@ FILE fqName: fileName:/extFunSafeInvoke.kt - FUN name:test visibility:public modality:FINAL <> (receiver:kotlin.Any?, fn:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3) returnType:kotlin.Unit? flags:[] - VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:fn index:1 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 flags:[] + FUN name:test visibility:public modality:FINAL <> (receiver:kotlin.Any?, fn:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3) returnType:kotlin.Unit? + VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? + VALUE_PARAMETER name:fn index:1 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (receiver:kotlin.Any?, fn:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3) returnType:kotlin.Unit? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (receiver: kotlin.Any?, fn: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3): kotlin.Unit? declared in ' BLOCK type=kotlin.Unit? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + GET_VAR 'receiver: kotlin.Any? declared in .test' type=kotlin.Any? origin=null WHEN type=kotlin.Unit? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .test' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function3, p1:kotlin.Function3.P1, p2:kotlin.Function3.P2, p3:kotlin.Function3.P3) returnType:kotlin.Function3.R flags:[]' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:fn index:1 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + then: CALL 'public abstract fun invoke (p1: P1 of kotlin.Function3, p2: P2 of kotlin.Function3, p3: P3 of kotlin.Function3): R of kotlin.Function3 declared in kotlin.Function3' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'fn: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 declared in .test' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 origin=VARIABLE_AS_FUNCTION + p1: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .test' type=kotlin.Any? origin=null p2: CONST Int type=kotlin.Int value=42 p3: CONST String type=kotlin.String value="Hello" diff --git a/compiler/testData/ir/irText/expressions/extensionPropertyGetterCall.txt b/compiler/testData/ir/irText/expressions/extensionPropertyGetterCall.txt index 8de2e438abe..65fe3337222 100644 --- a/compiler/testData/ir/irText/expressions/extensionPropertyGetterCall.txt +++ b/compiler/testData/ir/irText/expressions/extensionPropertyGetterCall.txt @@ -1,14 +1,14 @@ FILE fqName: fileName:/extensionPropertyGetterCall.kt - PROPERTY name:okext visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:okext visibility:public modality:FINAL flags:[val] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + PROPERTY name:okext visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String + correspondingProperty: PROPERTY name:okext visibility:public modality:FINAL [val] + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CONST String type=kotlin.String value="OK" - FUN name:test5 visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + FUN name:test5 visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' - CALL 'FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test5 (): kotlin.String declared in ' + CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + $receiver: GET_VAR ': kotlin.String declared in .test5' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/field.txt b/compiler/testData/ir/irText/expressions/field.txt index 84a4c22fbf8..74e81cfce65 100644 --- a/compiler/testData/ir/irText/expressions/field.txt +++ b/compiler/testData/ir/irText/expressions/field.txt @@ -1,33 +1,33 @@ FILE fqName: fileName:/field.kt - PROPERTY name:testSimple visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:testSimple type:kotlin.Int visibility:public flags:[static] + PROPERTY name:testSimple visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:testSimple type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testSimple visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:testSimple visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimple type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testSimple visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimple type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testSimple visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimple type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=EQ - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:testAugmented visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public flags:[static] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimple type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=EQ + value: GET_VAR 'value: kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:testAugmented visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testAugmented visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:testAugmented visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testAugmented visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testAugmented visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=PLUSEQ - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=PLUSEQ - other: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=PLUSEQ + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=PLUSEQ + other: GET_VAR 'value: kotlin.Int declared in .' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt index c7e95e85ac3..6d4aa3dda71 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt @@ -1,57 +1,57 @@ FILE fqName: fileName:/comparableWithDoubleOrFloat.kt - FUN name:testD visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[] + FUN name:testD visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Comparable + VALUE_PARAMETER name:y index:1 type:kotlin.Comparable BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testD visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testD (x: kotlin.Comparable, y: kotlin.Comparable): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Comparable declared in .testD' type=kotlin.Comparable origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Comparable declared in .testD' type=kotlin.Comparable origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + then: CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Comparable declared in .testD' type=kotlin.Comparable origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Comparable declared in .testD' type=kotlin.Comparable origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testF visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[] + FUN name:testF visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Comparable + VALUE_PARAMETER name:y index:1 type:kotlin.Comparable BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testF visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testF (x: kotlin.Comparable, y: kotlin.Comparable): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Comparable declared in .testF' type=kotlin.Comparable origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Comparable declared in .testF' type=kotlin.Comparable origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + then: CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Comparable declared in .testF' type=kotlin.Comparable origin=null arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[]' type=kotlin.Comparable origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Comparable declared in .testF' type=kotlin.Comparable origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/eqeqRhsConditionPossiblyAffectingLhs.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/eqeqRhsConditionPossiblyAffectingLhs.txt index 3deaf7040bb..3fb5042c199 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/eqeqRhsConditionPossiblyAffectingLhs.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/eqeqRhsConditionPossiblyAffectingLhs.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/eqeqRhsConditionPossiblyAffectingLhs.kt - FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + RETURN type=kotlin.Nothing from='public final fun test (x: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Any declared in .test' type=kotlin.Any origin=null arg1: WHEN type=kotlin.Double origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test' type=kotlin.Any origin=null then: BLOCK type=kotlin.Nothing origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Nothing? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Nothing? [val] CONST Null type=kotlin.Nothing? value=null WHEN type=kotlin.Nothing origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Nothing? flags:[val]' type=kotlin.Nothing? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_notnull: kotlin.Nothing? [val] declared in .test' type=kotlin.Nothing? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'public final fun THROW_NPE (): kotlin.Nothing declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Nothing? flags:[val]' type=kotlin.Nothing? origin=null + then: GET_VAR 'val tmp0_notnull: kotlin.Nothing? [val] declared in .test' type=kotlin.Nothing? origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test' type=kotlin.Any origin=null diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt index 2df56edc448..2a22bc47660 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt @@ -1,224 +1,224 @@ FILE fqName: fileName:/floatingPointCompareTo.kt - FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] + FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test1d (x: kotlin.Double, y: kotlin.Double): kotlin.Int declared in ' + CALL 'public open fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null + $this: GET_VAR 'x: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + other: GET_VAR 'y: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2d' type=kotlin.Any origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null + $this: GET_VAR 'x: kotlin.Double declared in .test2d' type=kotlin.Double origin=null other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2d' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3d (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3d' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null $this: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3d' type=kotlin.Any origin=null other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3d' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] + FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Float, other:kotlin.Float) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Int declared in ' + CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null + $this: GET_VAR 'x: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + other: GET_VAR 'y: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Float, other:kotlin.Float) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2f' type=kotlin.Any origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null + $this: GET_VAR 'x: kotlin.Float declared in .test2f' type=kotlin.Float origin=null other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2f' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3f' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Float, other:kotlin.Float) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3f' type=kotlin.Any origin=null other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3f' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Float, other:kotlin.Double) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public final fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDF (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Float) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public final fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null $this: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] + FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Float, other:kotlin.Float) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Int declared in ' + CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null + $this: GET_VAR ': kotlin.Float declared in .test1fr' type=kotlin.Float origin=null + other: GET_VAR 'x: kotlin.Float declared in .test1fr' type=kotlin.Float origin=null + FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Float, other:kotlin.Float) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test2fr' type=kotlin.Any origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null + $this: GET_VAR ': kotlin.Float declared in .test2fr' type=kotlin.Float origin=null other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test2fr' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3fr (x: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Float, other:kotlin.Double) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3fr' type=kotlin.Any origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public final fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null + $this: GET_VAR ': kotlin.Float declared in .test3fr' type=kotlin.Float origin=null other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3fr' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEqeq.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEqeq.txt index daead64d2a3..74723c411b5 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEqeq.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEqeq.txt @@ -1,215 +1,215 @@ FILE fqName: fileName:/floatingPointEqeq.kt - FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] + FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[] + RETURN type=kotlin.Nothing from='public final fun test1d (x: kotlin.Double, y: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null - FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test2d (x: kotlin.Double, y: kotlin.Double?): kotlin.Boolean declared in ' + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test2d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Double? declared in .test2d' type=kotlin.Double? origin=null + FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun test3d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test3d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Any declared in .test3d' type=kotlin.Any origin=null + FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[]' type=kotlin.Number origin=null - FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test4d (x: kotlin.Double, y: kotlin.Number): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test4d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Number declared in .test4d' type=kotlin.Number origin=null + FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5d' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test5d' type=kotlin.Double origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6d (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6d' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6d' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] + FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float? flags:[] + RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float? flags:[]' type=kotlin.Float? origin=null - FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in ' + CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test2f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Float? declared in .test2f' type=kotlin.Float? origin=null + FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test3f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Any declared in .test3f' type=kotlin.Any origin=null + FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[]' type=kotlin.Number origin=null - FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test4f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Number declared in .test4f' type=kotlin.Number origin=null + FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5f' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test5f' type=kotlin.Float origin=null arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6f (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6f' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6f' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDF (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null + arg1: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEquals.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEquals.txt index 21ce1d776d4..dc21d0920f0 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEquals.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEquals.txt @@ -1,257 +1,257 @@ FILE fqName: fileName:/floatingPointEquals.kt - FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] + FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[] + RETURN type=kotlin.Nothing from='public final fun test1d (x: kotlin.Double, y: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + other: GET_VAR 'y: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null - FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test2d (x: kotlin.Double, y: kotlin.Double?): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Double declared in .test2d' type=kotlin.Double origin=null + other: GET_VAR 'y: kotlin.Double? declared in .test2d' type=kotlin.Double? origin=null + FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun test3d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Double declared in .test3d' type=kotlin.Double origin=null + other: GET_VAR 'y: kotlin.Any declared in .test3d' type=kotlin.Any origin=null + FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[]' type=kotlin.Number origin=null - FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test4d (x: kotlin.Double, y: kotlin.Number): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Double declared in .test4d' type=kotlin.Double origin=null + other: GET_VAR 'y: kotlin.Number declared in .test4d' type=kotlin.Number origin=null + FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5d' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Double declared in .test5d' type=kotlin.Double origin=null + other: GET_VAR 'y: kotlin.Any declared in .test5d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6d (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6d' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Any declared in .test6d' type=kotlin.Any origin=null + other: GET_VAR 'y: kotlin.Any declared in .test6d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] + FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float? flags:[] + RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + other: GET_VAR 'y: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float? flags:[]' type=kotlin.Float? origin=null - FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Float declared in .test2f' type=kotlin.Float origin=null + other: GET_VAR 'y: kotlin.Float? declared in .test2f' type=kotlin.Float? origin=null + FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Float declared in .test3f' type=kotlin.Float origin=null + other: GET_VAR 'y: kotlin.Any declared in .test3f' type=kotlin.Any origin=null + FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[]' type=kotlin.Number origin=null - FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Float declared in .test4f' type=kotlin.Float origin=null + other: GET_VAR 'y: kotlin.Number declared in .test4f' type=kotlin.Number origin=null + FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5f' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Float declared in .test5f' type=kotlin.Float origin=null + other: GET_VAR 'y: kotlin.Any declared in .test5f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6f (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6f' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Any declared in .test6f' type=kotlin.Any origin=null + other: GET_VAR 'y: kotlin.Any declared in .test6f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null + other: GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDF (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null + $this: GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null + other: GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] + FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float? flags:[] + RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR ': kotlin.Float declared in .test1fr' type=kotlin.Float origin=null + other: GET_VAR 'x: kotlin.Float declared in .test1fr' type=kotlin.Float origin=null + FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Float? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float? flags:[]' type=kotlin.Float? origin=null - FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Float?): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR ': kotlin.Float declared in .test2fr' type=kotlin.Float origin=null + other: GET_VAR 'x: kotlin.Float? declared in .test2fr' type=kotlin.Float? origin=null + FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun test3fr (x: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR ': kotlin.Float declared in .test3fr' type=kotlin.Float origin=null + other: GET_VAR 'x: kotlin.Any declared in .test3fr' type=kotlin.Any origin=null + FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean flags:[]' - CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Number flags:[]' type=kotlin.Number origin=null - FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test4fr (x: kotlin.Number): kotlin.Boolean declared in ' + CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR ': kotlin.Float declared in .test4fr' type=kotlin.Float origin=null + other: GET_VAR 'x: kotlin.Number declared in .test4fr' type=kotlin.Number origin=null + FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5fr (x: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test5fr' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR ': kotlin.Float declared in .test5fr' type=kotlin.Float origin=null + other: GET_VAR 'x: kotlin.Any declared in .test5fr' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:kotlin.Float + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6fr (x: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.Float flags:[]' type=kotlin.Float origin=null - other: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6fr' type=kotlin.Any origin=null + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null + $this: GET_VAR ': kotlin.Float declared in .test6fr' type=kotlin.Float origin=null + other: GET_VAR 'x: kotlin.Any declared in .test6fr' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointExcleq.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointExcleq.txt index 0b24737546a..5144a37f473 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointExcleq.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointExcleq.txt @@ -1,229 +1,229 @@ FILE fqName: fileName:/floatingPointExcleq.kt - FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] + FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[] + RETURN type=kotlin.Nothing from='public final fun test1d (x: kotlin.Double, y: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null - FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test2d (x: kotlin.Double, y: kotlin.Double?): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test2d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Double? declared in .test2d' type=kotlin.Double? origin=null + FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun test3d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test3d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Any declared in .test3d' type=kotlin.Any origin=null + FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[]' type=kotlin.Number origin=null - FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test4d (x: kotlin.Double, y: kotlin.Number): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test4d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Number declared in .test4d' type=kotlin.Number origin=null + FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5d' type=kotlin.Any origin=null + then: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Double declared in .test5d' type=kotlin.Double origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6d (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6d' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ + then: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6d' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] + FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float? flags:[] + RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float? flags:[]' type=kotlin.Float? origin=null - FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test2f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Float? declared in .test2f' type=kotlin.Float? origin=null + FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[] + RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test3f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Any declared in .test3f' type=kotlin.Any origin=null + FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Number BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Number flags:[]' type=kotlin.Number origin=null - FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test4f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Number declared in .test4f' type=kotlin.Number origin=null + FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5f' type=kotlin.Any origin=null + then: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: kotlin.Float declared in .test5f' type=kotlin.Float origin=null arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test5f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6f (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6f' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ + then: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6f' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test6f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + then: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDF (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ + then: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null + arg1: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointLess.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointLess.txt index d35a79ddd61..d0c6ce22cc3 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointLess.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointLess.txt @@ -1,167 +1,167 @@ FILE fqName: fileName:/floatingPointLess.kt - FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] + FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test1d (x: kotlin.Double, y: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'x: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + arg1: GET_VAR 'y: kotlin.Double declared in .test1d' type=kotlin.Double origin=null + FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2d (x: kotlin.Double, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2d' type=kotlin.Any origin=null + then: CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'x: kotlin.Double declared in .test2d' type=kotlin.Double origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3d (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3d' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + then: CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3d' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3d' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] + FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'x: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + arg1: GET_VAR 'y: kotlin.Float declared in .test1f' type=kotlin.Float origin=null + FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Float + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2f' type=kotlin.Any origin=null + then: CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'x: kotlin.Float declared in .test2f' type=kotlin.Float origin=null arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test2f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3f' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + then: CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3f' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .test3f' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + then: CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testFD' type=kotlin.Any origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testFD' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDF (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + then: CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testDF' type=kotlin.Any origin=null + arg1: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testDF' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableAnyAsIntToDouble.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableAnyAsIntToDouble.txt index 003a65b10a4..3ba4ef6483e 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableAnyAsIntToDouble.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableAnyAsIntToDouble.txt @@ -1,31 +1,31 @@ FILE fqName: fileName:/nullableAnyAsIntToDouble.kt - FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] + FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any? + VALUE_PARAMETER name:y index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Double) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (x: kotlin.Any?, y: kotlin.Double): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any? origin=null + then: CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: BLOCK type=kotlin.Double? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any? origin=null WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .test' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + then: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Int' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .test' type=kotlin.Any? origin=null + arg1: GET_VAR 'y: kotlin.Double declared in .test' type=kotlin.Double origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableFloatingPointEqeq.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableFloatingPointEqeq.txt index d3a5de60feb..7afc8cda1b4 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableFloatingPointEqeq.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableFloatingPointEqeq.txt @@ -1,109 +1,109 @@ FILE fqName: fileName:/nullableFloatingPointEqeq.kt - FUN name:testDD visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Double?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[] + FUN name:testDD visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Double?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double? + VALUE_PARAMETER name:y index:1 type:kotlin.Double? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDD visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Double?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null - FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun testDD (x: kotlin.Double?, y: kotlin.Double?): kotlin.Boolean declared in ' + CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double? declared in .testDD' type=kotlin.Double? origin=null + arg1: GET_VAR 'y: kotlin.Double? declared in .testDD' type=kotlin.Double? origin=null + FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double? + VALUE_PARAMETER name:y index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDF (x: kotlin.Double?, y: kotlin.Any?): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any? declared in .testDF' type=kotlin.Any? origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double? declared in .testDF' type=kotlin.Double? origin=null arg1: BLOCK type=kotlin.Double? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + GET_VAR 'y: kotlin.Any? declared in .testDF' type=kotlin.Any? origin=null WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .testDF' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + then: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .testDF' type=kotlin.Any? origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testDI visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[] + FUN name:testDI visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Double? + VALUE_PARAMETER name:y index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDI visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDI (x: kotlin.Double?, y: kotlin.Any?): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[]' type=kotlin.Double? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any? declared in .testDI' type=kotlin.Any? origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Double? declared in .testDI' type=kotlin.Double? origin=null arg1: BLOCK type=kotlin.Double? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + GET_VAR 'y: kotlin.Any? declared in .testDI' type=kotlin.Any? origin=null WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .testDI' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + then: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Int' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .testDI' type=kotlin.Any? origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testDI2 visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[] + FUN name:testDI2 visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Any?) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any? + VALUE_PARAMETER name:y index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testDI2 visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testDI2 (x: kotlin.Any?, y: kotlin.Any?): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any? declared in .testDI2' type=kotlin.Any? origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any? declared in .testDI2' type=kotlin.Any? origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: BLOCK type=kotlin.Double? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + GET_VAR 'x: kotlin.Any? declared in .testDI2' type=kotlin.Any? origin=null WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .testDI2' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + then: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Int' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .testDI2' type=kotlin.Any? origin=null arg1: TYPE_OP type=kotlin.Double? origin=IMPLICIT_CAST typeOperand=kotlin.Double? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any? declared in .testDI2' type=kotlin.Any? origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.txt index d7720be8fe5..4f853c12680 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.txt @@ -1,175 +1,175 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt - FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:.test0.T) returnType:kotlin.Boolean flags:[] + FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test0) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:.test0.T flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:T of .test0 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:.test0.T) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test0 (x: kotlin.Any, y: T of .test0): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.test0.T flags:[]' type=.test0.T origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test0' type=kotlin.Any origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Any declared in .test0' type=kotlin.Any origin=null + arg1: GET_VAR 'y: T of .test0 declared in .test0' type=T of .test0 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test1 visibility:public modality:FINAL (x:kotlin.Any, y:.test1.T) returnType:kotlin.Boolean flags:[] + FUN name:test1 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test1) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:.test1.T flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:T of .test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL (x:kotlin.Any, y:.test1.T) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Any, y: T of .test1): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.test1.T flags:[]' type=.test1.T origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + arg1: GET_VAR 'y: T of .test1 declared in .test1' type=T of .test1 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test2 visibility:public modality:FINAL (x:kotlin.Any, y:.test2.T) returnType:kotlin.Boolean flags:[] + FUN name:test2 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test2) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Double] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:.test2.T flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:T of .test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL (x:kotlin.Any, y:.test2.T) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.Any, y: T of .test2): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test2' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.test2.T flags:[]' type=.test2.T origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test2' type=kotlin.Any origin=null + arg1: GET_VAR 'y: T of .test2 declared in .test2' type=T of .test2 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any, y:.test3.T) returnType:kotlin.Boolean flags:[] + FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test3) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:.test3.T flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:T of .test3 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any, y:.test3.T) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Any, y: T of .test3): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun toFloat (): kotlin.Float declared in kotlin.Int' type=kotlin.Float origin=null $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.test3.T flags:[]' type=.test3.T origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null + arg1: GET_VAR 'y: T of .test3 declared in .test3' type=T of .test3 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any, y:.test4.T) returnType:kotlin.Boolean flags:[] + FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test4) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:.test4.T flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:T of .test4 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any, y:.test4.T) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test4 (x: kotlin.Any, y: T of .test4): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test4' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun toFloat (): kotlin.Float declared in kotlin.Int' type=kotlin.Float origin=null $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.test4.T flags:[]' type=.test4.T origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test4' type=kotlin.Any origin=null + arg1: GET_VAR 'y: T of .test4 declared in .test4' type=T of .test4 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test5 visibility:public modality:FINAL (x:kotlin.Any, y:.test5.R) returnType:kotlin.Boolean flags:[] + FUN name:test5 visibility:public modality:FINAL (x:kotlin.Any, y:R of .test5) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] - TYPE_PARAMETER name:R index:1 variance: superTypes:[.test5.T] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:.test5.R flags:[] + TYPE_PARAMETER name:R index:1 variance: superTypes:[T of .test5] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:R of .test5 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL (x:kotlin.Any, y:.test5.R) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5 (x: kotlin.Any, y: R of .test5): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test5' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun toFloat (): kotlin.Float declared in kotlin.Int' type=kotlin.Float origin=null $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.test5.R flags:[]' type=.test5.R origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test5' type=kotlin.Any origin=null + arg1: GET_VAR 'y: R of .test5 declared in .test5' type=R of .test5 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:test6 visibility:public modality:FINAL (x:kotlin.Any, y:.test6.T) returnType:kotlin.Boolean flags:[] + FUN name:test6 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test6) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:.test6.T flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:T of .test6 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL (x:kotlin.Any, y:.test6.T) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6 (x: kotlin.Any, y: T of .test6): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.test6.T flags:[]' type=.test6.T origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test6' type=kotlin.Any origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Any declared in .test6' type=kotlin.Any origin=null + arg1: GET_VAR 'y: T of .test6 declared in .test6' type=T of .test6 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - CLASS CLASS name:F modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F<.F.T> flags:[] + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] - CONSTRUCTOR visibility:public <> () returnType:.F<.F.T> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.F.F> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:testCapturedType visibility:public modality:FINAL <> ($this:.F<.F.T>, x:.F.T, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.F<.F.T> flags:[] - VALUE_PARAMETER name:x index:0 type:.F.T flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:testCapturedType visibility:public modality:FINAL <> ($this:.F.F>, x:T of .F, y:kotlin.Any) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.F.F> + VALUE_PARAMETER name:x index:0 type:T of .F + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testCapturedType visibility:public modality:FINAL <> ($this:.F<.F.T>, x:.F.T, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testCapturedType (x: T of .F, y: kotlin.Any): kotlin.Boolean declared in .F' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.F.T flags:[]' type=.F.T origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .F.testCapturedType' type=kotlin.Any origin=null + then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null + $this: GET_VAR 'x: T of .F declared in .F.testCapturedType' type=T of .F origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .F.testCapturedType' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt index bd4c5e367b8..fdfe2611bd2 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt @@ -1,160 +1,160 @@ FILE fqName: fileName:/whenByFloatingPoint.kt - FUN name:testSimple visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + FUN name:testSimple visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testSimple visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testSimple (x: kotlin.Double): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double [val] + GET_VAR 'x: kotlin.Double declared in .testSimple' type=kotlin.Double origin=null WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Double [val] declared in .testSimple' type=kotlin.Double origin=null arg1: CONST Double type=kotlin.Double value=0.0 then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=1 - FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testSmartCastInWhenSubject' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in ' CONST Int type=kotlin.Int value=-1 - RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any [val] + GET_VAR 'x: kotlin.Any declared in .testSmartCastInWhenSubject' type=kotlin.Any origin=null WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_subject: kotlin.Any [val] declared in .testSmartCastInWhenSubject' type=kotlin.Any origin=null arg1: CONST Double type=kotlin.Double value=0.0 then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=1 - FUN name:testSmartCastInWhenCondition visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testSmartCastInWhenCondition visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Double + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenCondition visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Int flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testSmartCastInWhenCondition' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenCondition (x: kotlin.Double, y: kotlin.Any): kotlin.Int declared in ' CONST Int type=kotlin.Int value=-1 - RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenCondition visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenCondition (x: kotlin.Double, y: kotlin.Any): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double [val] + GET_VAR 'x: kotlin.Double declared in .testSmartCastInWhenCondition' type=kotlin.Double origin=null WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double flags:[val]' type=kotlin.Double origin=null + if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Double [val] declared in .testSmartCastInWhenCondition' type=kotlin.Double origin=null arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testSmartCastInWhenCondition' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=1 - FUN name:testSmartCastInWhenConditionInBranch visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + FUN name:testSmartCastInWhenConditionInBranch visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenConditionInBranch visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenConditionInBranch (x: kotlin.Any): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any [val] + GET_VAR 'x: kotlin.Any declared in .testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCL + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCL arg0: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_subject: kotlin.Any [val] declared in .testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=-1 BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_subject: kotlin.Any [val] declared in .testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null arg1: CONST Double type=kotlin.Double value=0.0 then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=1 - FUN name:testSmartCastToDifferentTypes visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testSmartCastToDifferentTypes visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testSmartCastToDifferentTypes visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Int flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testSmartCastToDifferentTypes' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testSmartCastToDifferentTypes (x: kotlin.Any, y: kotlin.Any): kotlin.Int declared in ' CONST Int type=kotlin.Int value=-1 WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testSmartCastToDifferentTypes visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Int flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testSmartCastToDifferentTypes' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testSmartCastToDifferentTypes (x: kotlin.Any, y: kotlin.Any): kotlin.Int declared in ' CONST Int type=kotlin.Int value=-1 - RETURN type=kotlin.Nothing from='FUN name:testSmartCastToDifferentTypes visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testSmartCastToDifferentTypes (x: kotlin.Any, y: kotlin.Any): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any [val] + GET_VAR 'x: kotlin.Any declared in .testSmartCastToDifferentTypes' type=kotlin.Any origin=null WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ + if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val tmp0_subject: kotlin.Any [val] declared in .testSmartCastToDifferentTypes' type=kotlin.Any origin=null + arg1: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testSmartCastToDifferentTypes' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=1 - FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double + VALUE_PARAMETER name:x index:0 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double flags:[]' - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:testWithPrematureExitInConditionSubexpression visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun foo (x: kotlin.Double): kotlin.Double declared in ' + GET_VAR 'x: kotlin.Double declared in .foo' type=kotlin.Double origin=null + FUN name:testWithPrematureExitInConditionSubexpression visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testWithPrematureExitInConditionSubexpression visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testWithPrematureExitInConditionSubexpression (x: kotlin.Any): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any [val] + GET_VAR 'x: kotlin.Any declared in .testWithPrematureExitInConditionSubexpression' type=kotlin.Any origin=null WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - arg1: CALL 'FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Any [val] declared in .testWithPrematureExitInConditionSubexpression' type=kotlin.Any origin=null + arg1: CALL 'public final fun foo (x: kotlin.Double): kotlin.Double declared in ' type=kotlin.Double origin=null x: WHEN type=kotlin.Double origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testWithPrematureExitInConditionSubexpression visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testWithPrematureExitInConditionSubexpression' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testWithPrematureExitInConditionSubexpression (x: kotlin.Any): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testWithPrematureExitInConditionSubexpression' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/expressions/for.txt b/compiler/testData/ir/irText/expressions/for.txt index db8e6eb8c43..c689d2d40a3 100644 --- a/compiler/testData/ir/irText/expressions/for.txt +++ b/compiler/testData/ir/irText/expressions/for.txt @@ -1,57 +1,57 @@ FILE fqName: fileName:/for.kt - FUN name:testEmpty visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] + FUN name:testEmpty visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testEmpty' type=kotlin.collections.List origin=null WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testEmpty' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null - FUN name:testIterable visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] + VAR FOR_LOOP_VARIABLE name:s type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testEmpty' type=kotlin.collections.Iterator origin=null + FUN name:testIterable visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testIterable' type=kotlin.collections.List origin=null WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testIterable' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + VAR FOR_LOOP_VARIABLE name:s type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testIterable' type=kotlin.collections.Iterator origin=null BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: GET_VAR 'VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val]' type=kotlin.String origin=null - FUN name:testDestructuring visibility:public modality:FINAL <> (pp:kotlin.collections.List>) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:pp index:0 type:kotlin.collections.List> flags:[] + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'val s: kotlin.String [val] declared in .testIterable' type=kotlin.String origin=null + FUN name:testDestructuring visibility:public modality:FINAL <> (pp:kotlin.collections.List>) returnType:kotlin.Unit + VALUE_PARAMETER name:pp index:0 type:kotlin.collections.List> BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator> flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator> origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:pp index:0 type:kotlin.collections.List> flags:[]' type=kotlin.collections.List> origin=null + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator> [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator> origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'pp: kotlin.collections.List> declared in .testDestructuring' type=kotlin.collections.List> origin=null WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator> flags:[val]' type=kotlin.collections.Iterator> origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator> [val] declared in .testDestructuring' type=kotlin.collections.Iterator> origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_IMPLICIT_VARIABLE name:tmp1_loop_parameter type:kotlin.Pair flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.Pair origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator> flags:[val]' type=kotlin.collections.Iterator> origin=null - VAR name:i type:kotlin.Int flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:component1 visibility:public modality:FINAL <> ($this:kotlin.Pair) returnType:kotlin.Pair.A flags:[]' type=kotlin.Int origin=COMPONENT_N(index=1) - $this: GET_VAR 'VAR FOR_LOOP_IMPLICIT_VARIABLE name:tmp1_loop_parameter type:kotlin.Pair flags:[val]' type=kotlin.Pair origin=null - VAR name:s type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:component2 visibility:public modality:FINAL <> ($this:kotlin.Pair) returnType:kotlin.Pair.B flags:[]' type=kotlin.String origin=COMPONENT_N(index=2) - $this: GET_VAR 'VAR FOR_LOOP_IMPLICIT_VARIABLE name:tmp1_loop_parameter type:kotlin.Pair flags:[val]' type=kotlin.Pair origin=null + VAR FOR_LOOP_IMPLICIT_VARIABLE name:tmp1_loop_parameter type:kotlin.Pair [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.Pair origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator> [val] declared in .testDestructuring' type=kotlin.collections.Iterator> origin=null + VAR name:i type:kotlin.Int [val] + CALL 'public final fun component1 (): A of kotlin.Pair declared in kotlin.Pair' type=kotlin.Int origin=COMPONENT_N(index=1) + $this: GET_VAR 'val tmp1_loop_parameter: kotlin.Pair [val] declared in .testDestructuring' type=kotlin.Pair origin=null + VAR name:s type:kotlin.String [val] + CALL 'public final fun component2 (): B of kotlin.Pair declared in kotlin.Pair' type=kotlin.String origin=COMPONENT_N(index=2) + $this: GET_VAR 'val tmp1_loop_parameter: kotlin.Pair [val] declared in .testDestructuring' type=kotlin.Pair origin=null BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: GET_VAR 'VAR name:i type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: GET_VAR 'VAR name:s type:kotlin.String flags:[val]' type=kotlin.String origin=null + CALL 'public final fun println (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'val i: kotlin.Int [val] declared in .testDestructuring' type=kotlin.Int origin=null + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'val s: kotlin.String [val] declared in .testDestructuring' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt b/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt index ea9f69f5d78..c0665d50b01 100644 --- a/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt +++ b/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt @@ -1,93 +1,93 @@ FILE fqName: fileName:/forWithBreakContinue.kt - FUN name:testForBreak1 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] + FUN name:testForBreak1 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testForBreak1' type=kotlin.collections.List origin=null WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForBreak1' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + VAR FOR_LOOP_VARIABLE name:s type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForBreak1' type=kotlin.collections.Iterator origin=null BLOCK type=kotlin.Nothing origin=null BREAK label=null loop.label=null - FUN name:testForBreak2 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] + FUN name:testForBreak2 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testForBreak2' type=kotlin.collections.List origin=null WHILE label=OUTER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForBreak2' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s1 type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + VAR FOR_LOOP_VARIABLE name:s1 type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForBreak2' type=kotlin.collections.Iterator origin=null BLOCK type=kotlin.Nothing origin=null BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testForBreak2' type=kotlin.collections.List origin=null WHILE label=INNER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .testForBreak2' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s2 type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + VAR FOR_LOOP_VARIABLE name:s2 type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .testForBreak2' type=kotlin.collections.Iterator origin=null BLOCK type=kotlin.Nothing origin=null BREAK label=OUTER loop.label=OUTER BREAK label=INNER loop.label=INNER BREAK label=null loop.label=INNER BREAK label=OUTER loop.label=OUTER - FUN name:testForContinue1 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] + FUN name:testForContinue1 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testForContinue1' type=kotlin.collections.List origin=null WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForContinue1' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + VAR FOR_LOOP_VARIABLE name:s type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForContinue1' type=kotlin.collections.Iterator origin=null BLOCK type=kotlin.Nothing origin=null CONTINUE label=null loop.label=null - FUN name:testForContinue2 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] + FUN name:testForContinue2 visibility:public modality:FINAL <> (ss:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testForContinue2' type=kotlin.collections.List origin=null WHILE label=OUTER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForContinue2' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s1 type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + VAR FOR_LOOP_VARIABLE name:s1 type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp0_iterator: kotlin.collections.Iterator [val] declared in .testForContinue2' type=kotlin.collections.Iterator origin=null BLOCK type=kotlin.Nothing origin=null BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator flags:[]' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator [val] + CALL 'public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + $this: GET_VAR 'ss: kotlin.collections.List declared in .testForContinue2' type=kotlin.collections.List origin=null WHILE label=INNER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .testForContinue2' type=kotlin.collections.Iterator origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s2 type:kotlin.String flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp1_iterator type:kotlin.collections.Iterator flags:[val]' type=kotlin.collections.Iterator origin=null + VAR FOR_LOOP_VARIABLE name:s2 type:kotlin.String [val] + CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.String origin=FOR_LOOP_NEXT + $this: GET_VAR 'val tmp1_iterator: kotlin.collections.Iterator [val] declared in .testForContinue2' type=kotlin.collections.Iterator origin=null BLOCK type=kotlin.Nothing origin=null CONTINUE label=OUTER loop.label=OUTER CONTINUE label=INNER loop.label=INNER diff --git a/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt b/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt index 8f540092caf..44bebdb096a 100644 --- a/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt +++ b/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt @@ -1,127 +1,127 @@ FILE fqName: fileName:/forWithImplicitReceivers.kt - CLASS OBJECT name:FiveTimes modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FiveTimes flags:[] - CONSTRUCTOR visibility:private <> () returnType:.FiveTimes flags:[primary] + CLASS OBJECT name:FiveTimes modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FiveTimes + CONSTRUCTOR visibility:private <> () returnType:.FiveTimes [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:FiveTimes modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:FiveTimes modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:IntCell modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IntCell flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.IntCell flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:IntCell modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IntCell + CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.IntCell [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IntCell modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IntCell modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.IntCell flags:[] + GET_VAR 'value: kotlin.Int declared in .IntCell.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell) returnType:kotlin.Int + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.IntCell BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.IntCell flags:[]' type=.IntCell origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.IntCell flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .IntCell' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .IntCell declared in .IntCell.' type=.IntCell origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.IntCell + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.IntCell flags:[]' type=.IntCell origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .IntCell declared in .IntCell.' type=.IntCell origin=null + value: GET_VAR ': kotlin.Int declared in .IntCell.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IReceiver modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IReceiver flags:[] - FUN name:iterator visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.FiveTimes) returnType:.IntCell flags:[] - $this: VALUE_PARAMETER name: type:.IReceiver flags:[] - $receiver: VALUE_PARAMETER name: type:.FiveTimes flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IReceiver modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IReceiver + FUN name:iterator visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.FiveTimes) returnType:.IntCell + $this: VALUE_PARAMETER name: type:.IReceiver + $receiver: VALUE_PARAMETER name: type:.FiveTimes BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:iterator visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.FiveTimes) returnType:.IntCell flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.IntCell flags:[primary]' type=.IntCell origin=null + RETURN type=kotlin.Nothing from='public open fun iterator (): .IntCell declared in .IReceiver' + CALL 'public constructor (value: kotlin.Int) [primary] declared in .IntCell' type=.IntCell origin=null value: CONST Int type=kotlin.Int value=5 - FUN name:hasNext visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.IReceiver flags:[] - $receiver: VALUE_PARAMETER name: type:.IntCell flags:[] + FUN name:hasNext visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.IReceiver + $receiver: VALUE_PARAMETER name: type:.IntCell BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:hasNext visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.IntCell flags:[]' type=.IntCell origin=null + RETURN type=kotlin.Nothing from='public open fun hasNext (): kotlin.Boolean declared in .IReceiver' + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: CALL 'public final fun (): kotlin.Int declared in .IntCell' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .IntCell declared in .IReceiver.hasNext' type=.IntCell origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:next visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.IReceiver flags:[] - $receiver: VALUE_PARAMETER name: type:.IntCell flags:[] + FUN name:next visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.IReceiver + $receiver: VALUE_PARAMETER name: type:.IntCell BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:next visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun next (): kotlin.Int declared in .IReceiver' BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.IntCell flags:[val] - GET_VAR 'VALUE_PARAMETER name: type:.IntCell flags:[]' type=.IntCell origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.IntCell [val] + GET_VAR ': .IntCell declared in .IReceiver.next' type=.IntCell origin=null BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.IntCell flags:[val]' type=.IntCell origin=null - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IntCell, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.IntCell flags:[val]' type=.IntCell origin=null - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in .IntCell' type=kotlin.Int origin=POSTFIX_DECR + $this: GET_VAR 'val tmp0_this: .IntCell [val] declared in .IReceiver.next' type=.IntCell origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .IntCell' type=kotlin.Unit origin=POSTFIX_DECR + $this: GET_VAR 'val tmp0_this: .IntCell [val] declared in .IReceiver.next' type=.IntCell origin=null + : CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR + $this: GET_VAR 'val tmp1: kotlin.Int [val] declared in .IReceiver.next' type=kotlin.Int origin=null + GET_VAR 'val tmp1: kotlin.Int [val] declared in .IReceiver.next' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> ($receiver:.IReceiver) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.IReceiver flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($receiver:.IReceiver) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.IReceiver BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:.IntCell flags:[val] - CALL 'FUN name:iterator visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.FiveTimes) returnType:.IntCell flags:[]' type=.IntCell origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'VALUE_PARAMETER name: type:.IReceiver flags:[]' type=.IReceiver origin=null - $receiver: GET_OBJECT 'CLASS OBJECT name:FiveTimes modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.FiveTimes + VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:.IntCell [val] + CALL 'public open fun iterator (): .IntCell declared in .IReceiver' type=.IntCell origin=FOR_LOOP_ITERATOR + $this: GET_VAR ': .IReceiver declared in .test' type=.IReceiver origin=null + $receiver: GET_OBJECT 'CLASS OBJECT name:FiveTimes modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.FiveTimes WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'FUN name:hasNext visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'VALUE_PARAMETER name: type:.IReceiver flags:[]' type=.IReceiver origin=null - $receiver: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:.IntCell flags:[val]' type=.IntCell origin=null + condition: CALL 'public open fun hasNext (): kotlin.Boolean declared in .IReceiver' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + $this: GET_VAR ': .IReceiver declared in .test' type=.IReceiver origin=null + $receiver: GET_VAR 'val tmp0_iterator: .IntCell [val] declared in .test' type=.IntCell origin=null body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int flags:[val] - CALL 'FUN name:next visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=FOR_LOOP_NEXT - $this: GET_VAR 'VALUE_PARAMETER name: type:.IReceiver flags:[]' type=.IReceiver origin=null - $receiver: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:.IntCell flags:[val]' type=.IntCell origin=null + VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val] + CALL 'public open fun next (): kotlin.Int declared in .IReceiver' type=kotlin.Int origin=FOR_LOOP_NEXT + $this: GET_VAR ': .IReceiver declared in .test' type=.IReceiver origin=null + $receiver: GET_VAR 'val tmp0_iterator: .IntCell [val] declared in .test' type=.IntCell origin=null BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: GET_VAR 'VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + CALL 'public final fun println (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'val i: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/funImportedFromObject.txt b/compiler/testData/ir/irText/expressions/funImportedFromObject.txt index 96dea8b67d3..0f4d7a1a797 100644 --- a/compiler/testData/ir/irText/expressions/funImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/funImportedFromObject.txt @@ -1,32 +1,32 @@ FILE fqName:test fileName:/funImportedFromObject.kt - CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Host flags:[] - CONSTRUCTOR visibility:private <> () returnType:test.Host flags:[primary] + CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Host + CONSTRUCTOR visibility:private <> () returnType:test.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String flags:[inline] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:test.Host flags:[] + $this: VALUE_PARAMETER name: type:test.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String flags:[inline]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String [inline] declared in test.Host' CONST String type=kotlin.String value="OK" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String flags:[inline]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test (): kotlin.String declared in test' + CALL 'public final fun foo (): kotlin.String [inline] declared in test.Host' type=kotlin.String origin=null : kotlin.Any - $this: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=test.Host + $this: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=test.Host diff --git a/compiler/testData/ir/irText/expressions/genericPropertyCall.txt b/compiler/testData/ir/irText/expressions/genericPropertyCall.txt index 179e193a541..1ebf0082794 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyCall.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyCall.txt @@ -1,20 +1,20 @@ FILE fqName: fileName:/genericPropertyCall.kt - PROPERTY name:id visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[] - correspondingProperty: PROPERTY name:id visibility:public modality:FINAL flags:[val] + PROPERTY name:id visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:T of . + correspondingProperty: PROPERTY name:id visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:..T flags:[]' type=..T origin=null - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' + GET_VAR ': T of . declared in .' type=T of . origin=null + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[]' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun (): T of . declared in ' type=kotlin.String origin=GET_PROPERTY <`0>: kotlin.String $receiver: CONST String type=kotlin.String value="abc" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/genericPropertyRef.txt b/compiler/testData/ir/irText/expressions/genericPropertyRef.txt index c617a638ca4..c47c1c04e3e 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyRef.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyRef.txt @@ -1,195 +1,195 @@ FILE fqName: fileName:/genericPropertyRef.kt - CLASS CLASS name:Value modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Value flags: + CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Value.Value> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T, text:kotlin.String?) returnType:Value flags:primary - VALUE_PARAMETER name:value index:0 type:T flags: + CONSTRUCTOR visibility:public <> (value:T of .Value, text:kotlin.String?) returnType:.Value.Value> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Value EXPRESSION_BODY - TYPE_OP type=T origin=CAST typeOperand=T + TYPE_OP type=T of .Value origin=CAST typeOperand=T of .Value typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONST Null type=kotlin.Nothing? value=null - VALUE_PARAMETER name:text index:1 type:kotlin.String? flags: + VALUE_PARAMETER name:text index:1 type:kotlin.String? EXPRESSION_BODY CONST Null type=kotlin.Nothing? value=null BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Value' - PROPERTY name:value visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:value type:T visibility:public flags: + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .Value visibility:public EXPRESSION_BODY - GET_VAR 'value-parameter value: T = ...' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Value) returnType:T flags: - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:Value flags: + GET_VAR 'value: T of .Value declared in .Value.' type=T of .Value origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Value.Value>) returnType:T of .Value + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Value.Value> BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'value: T' type=T origin=null - receiver: GET_VAR 'this@Value: Value' type=Value origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Value, :T) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:Value flags: - VALUE_PARAMETER name: index:0 type:T flags: + RETURN type=kotlin.Nothing from='public final fun (): T of .Value declared in .Value' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .Value visibility:public ' type=T of .Value origin=null + receiver: GET_VAR ': .Value.Value> declared in .Value.' type=.Value.Value> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Value.Value>, :T of .Value) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Value.Value> + VALUE_PARAMETER name: index:0 type:T of .Value BLOCK_BODY - SET_FIELD 'value: T' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Value: Value' type=Value origin=null - value: GET_VAR 'value-parameter : T' type=T origin=null - PROPERTY name:text visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String? visibility:public flags: + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .Value visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Value.Value> declared in .Value.' type=.Value.Value> origin=null + value: GET_VAR ': T of .Value declared in .Value.' type=T of .Value origin=null + PROPERTY name:text visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String? visibility:public EXPRESSION_BODY - GET_VAR 'value-parameter text: String? = ...' type=kotlin.String? origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Value) returnType:kotlin.String? flags: - correspondingProperty: PROPERTY name:text visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:Value flags: + GET_VAR 'text: kotlin.String? declared in .Value.' type=kotlin.String? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Value.Value>) returnType:kotlin.String? + correspondingProperty: PROPERTY name:text visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Value.Value> BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String?' - GET_FIELD 'text: String?' type=kotlin.String? origin=null - receiver: GET_VAR 'this@Value: Value' type=Value origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Value, :kotlin.String?) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:text visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:Value flags: - VALUE_PARAMETER name: index:0 type:kotlin.String? flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in .Value' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String? visibility:public ' type=kotlin.String? origin=null + receiver: GET_VAR ': .Value.Value> declared in .Value.' type=.Value.Value> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Value.Value>, :kotlin.String?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:text visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Value.Value> + VALUE_PARAMETER name: index:0 type:kotlin.String? BLOCK_BODY - SET_FIELD 'text: String?' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Value: Value' type=Value origin=null - value: GET_VAR 'value-parameter : String?' type=kotlin.String? origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String? visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Value.Value> declared in .Value.' type=.Value.Value> origin=null + value: GET_VAR ': kotlin.String? declared in .Value.' type=kotlin.String? origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - PROPERTY name:additionalText visibility:public modality:FINAL flags:delegated,val - FIELD DELEGATE name:additionalText$delegate type:DVal visibility:private flags:final,static + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:additionalText$delegate type:.DVal visibility:private [final,static] EXPRESSION_BODY - CALL 'constructor DVal(Any)' type=DVal origin=null - kmember: PROPERTY_REFERENCE 'text: String?' field=null getter='(): String?' setter='(String?): Unit' type=kotlin.reflect.KMutableProperty1, kotlin.String?> origin=null - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:Value) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL flags:delegated,val + CALL 'public constructor (kmember: kotlin.Any) [primary] declared in .DVal' type=.DVal origin=null + kmember: PROPERTY_REFERENCE 'PROPERTY name:text visibility:public modality:FINAL [var] ' field=null getter='public final fun (): kotlin.String? declared in .Value' setter='public final fun (: kotlin.String?): kotlin.Unit declared in .Value' type=kotlin.reflect.KMutableProperty1<.Value.>, kotlin.String?> origin=null + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value.>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:Value flags: + $receiver: VALUE_PARAMETER name: type:.Value.> BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Value: Int' - CALL 'getValue(Any?, Any): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`additionalText$delegate`: DVal' type=DVal origin=null - t: GET_VAR 'this@additionalText: Value' type=Value origin=null - p: PROPERTY_REFERENCE 'additionalText: Int on Value' field=null getter='() on Value: Int' setter=null type=kotlin.reflect.KProperty1, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (t: kotlin.Any?, p: kotlin.Any): kotlin.Int declared in .DVal' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:additionalText$delegate type:.DVal visibility:private [final,static] ' type=.DVal origin=null + t: GET_VAR ': .Value.> declared in .' type=.Value.> origin=null + p: PROPERTY_REFERENCE 'PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty1<.Value.>, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE : - PROPERTY name:additionalValue visibility:public modality:FINAL flags:delegated,val - FIELD DELEGATE name:additionalValue$delegate type:DVal visibility:private flags:final,static + PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:additionalValue$delegate type:.DVal visibility:private [final,static] EXPRESSION_BODY - CALL 'constructor DVal(Any)' type=DVal origin=null - kmember: PROPERTY_REFERENCE 'value: T' field=null getter='(): T' setter='(T): Unit' type=kotlin.reflect.KMutableProperty1, T> origin=null - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:Value) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:additionalValue visibility:public modality:FINAL flags:delegated,val + CALL 'public constructor (kmember: kotlin.Any) [primary] declared in .DVal' type=.DVal origin=null + kmember: PROPERTY_REFERENCE 'PROPERTY name:value visibility:public modality:FINAL [var] ' field=null getter='public final fun (): T of .Value declared in .Value' setter='public final fun (: T of .Value): kotlin.Unit declared in .Value' type=kotlin.reflect.KMutableProperty1<.Value.>, T of .> origin=null + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value.>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:Value flags: + $receiver: VALUE_PARAMETER name: type:.Value.> BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Value: Int' - CALL 'getValue(Any?, Any): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`additionalValue$delegate`: DVal' type=DVal origin=null - t: GET_VAR 'this@additionalValue: Value' type=Value origin=null - p: PROPERTY_REFERENCE 'additionalValue: Int on Value' field=null getter='() on Value: Int' setter=null type=kotlin.reflect.KProperty1, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (t: kotlin.Any?, p: kotlin.Any): kotlin.Int declared in .DVal' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:additionalValue$delegate type:.DVal visibility:private [final,static] ' type=.DVal origin=null + t: GET_VAR ': .Value.> declared in .' type=.Value.> origin=null + p: PROPERTY_REFERENCE 'PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty1<.Value.>, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE : - CLASS CLASS name:DVal modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:DVal flags: - CONSTRUCTOR visibility:public <> (kmember:kotlin.Any) returnType:DVal flags:primary - VALUE_PARAMETER name:kmember index:0 type:kotlin.Any flags: + CLASS CLASS name:DVal modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DVal + CONSTRUCTOR visibility:public <> (kmember:kotlin.Any) returnType:.DVal [primary] + VALUE_PARAMETER name:kmember index:0 type:kotlin.Any BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='DVal' - PROPERTY name:kmember visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:kmember type:kotlin.Any visibility:public flags:final + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DVal modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:kmember visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:kmember type:kotlin.Any visibility:public [final] EXPRESSION_BODY - GET_VAR 'value-parameter kmember: Any' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:DVal) returnType:kotlin.Any flags: - correspondingProperty: PROPERTY name:kmember visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:DVal flags: + GET_VAR 'kmember: kotlin.Any declared in .DVal.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.DVal) returnType:kotlin.Any + correspondingProperty: PROPERTY name:kmember visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.DVal BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - GET_FIELD 'kmember: Any' type=kotlin.Any origin=null - receiver: GET_VAR 'this@DVal: DVal' type=DVal origin=null - FUN name:getValue visibility:public modality:FINAL <> ($this:DVal, t:kotlin.Any?, p:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:DVal flags: - VALUE_PARAMETER name:t index:0 type:kotlin.Any? flags: - VALUE_PARAMETER name:p index:1 type:kotlin.Any flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .DVal' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:kmember type:kotlin.Any visibility:public [final] ' type=kotlin.Any origin=null + receiver: GET_VAR ': .DVal declared in .DVal.' type=.DVal origin=null + FUN name:getValue visibility:public modality:FINAL <> ($this:.DVal, t:kotlin.Any?, p:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.DVal + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + VALUE_PARAMETER name:p index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any): Int' + RETURN type=kotlin.Nothing from='public final fun getValue (t: kotlin.Any?, p: kotlin.Any): kotlin.Int declared in .DVal' CONST Int type=kotlin.Int value=42 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - PROPERTY name:recivier visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:recivier type:kotlin.Any? visibility:public flags:static + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:recivier visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:recivier type:kotlin.Any? visibility:public [static] EXPRESSION_BODY CONST String type=kotlin.String value="fail" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags: - correspondingProperty: PROPERTY name:recivier visibility:public modality:FINAL flags:var + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? + correspondingProperty: PROPERTY name:recivier visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any?' - GET_FIELD 'recivier: Any?' type=kotlin.Any? origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any?) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:recivier visibility:public modality:FINAL flags:var - VALUE_PARAMETER name: index:0 type:kotlin.Any? flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:recivier type:kotlin.Any? visibility:public [static] ' type=kotlin.Any? origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:recivier visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Any? BLOCK_BODY - SET_FIELD 'recivier: Any?' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Any?' type=kotlin.Any? origin=null - PROPERTY name:value2 visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.Any? visibility:public flags:static + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:recivier type:kotlin.Any? visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Any? declared in .' type=kotlin.Any? origin=null + PROPERTY name:value2 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.Any? visibility:public [static] EXPRESSION_BODY CONST String type=kotlin.String value="fail2" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags: - correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL flags:var + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? + correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any?' - GET_FIELD 'value2: Any?' type=kotlin.Any? origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any?) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL flags:var - VALUE_PARAMETER name: index:0 type:kotlin.Any? flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.Any? visibility:public [static] ' type=kotlin.Any? origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Any?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Any? BLOCK_BODY - SET_FIELD 'value2: Any?' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Any?' type=kotlin.Any? origin=null - PROPERTY name:bar visibility:public modality:FINAL flags:var - FUN name: visibility:public modality:FINAL ($receiver:T) returnType:T flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:var + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value2 type:kotlin.Any? visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Any? declared in .' type=kotlin.Any? origin=null + PROPERTY name:bar visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:T of . + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: T' - GET_VAR 'this@bar: T' type=T origin=null - FUN name: visibility:public modality:FINAL ($receiver:T, value:T) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:var + RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' + GET_VAR ': T of . declared in .' type=T of . origin=null + FUN name: visibility:public modality:FINAL ($receiver:T of ., value:T of .) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: - VALUE_PARAMETER name:value index:0 type:T flags: + $receiver: VALUE_PARAMETER name: type:T of . + VALUE_PARAMETER name:value index:0 type:T of . BLOCK_BODY - CALL '(Any?): Unit' type=kotlin.Unit origin=EQ - : GET_VAR 'this@bar: T' type=T origin=null - CALL '(Any?): Unit' type=kotlin.Unit origin=EQ - : GET_VAR 'value-parameter value: T' type=T origin=null - PROPERTY name:barRef visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:barRef type:kotlin.reflect.KMutableProperty1 visibility:public flags:final,static + CALL 'public final fun (: kotlin.Any?): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ + : GET_VAR ': T of . declared in .' type=T of . origin=null + CALL 'public final fun (: kotlin.Any?): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ + : GET_VAR 'value: T of . declared in .' type=T of . origin=null + PROPERTY name:barRef visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:barRef type:kotlin.reflect.KMutableProperty1 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'bar: T on T' field=null getter='() on T: T' setter='(T) on T: Unit' type=kotlin.reflect.KMutableProperty1 origin=null + PROPERTY_REFERENCE 'PROPERTY name:bar visibility:public modality:FINAL [var] ' field=null getter='public final fun (): T of . declared in ' setter='public final fun (value: T of .): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty1 origin=null : kotlin.String? - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty1 flags: - correspondingProperty: PROPERTY name:barRef visibility:public modality:FINAL flags:val + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty1 + correspondingProperty: PROPERTY name:barRef visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KMutableProperty1' - GET_FIELD 'barRef: KMutableProperty1' type=kotlin.reflect.KMutableProperty1 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty1 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:barRef type:kotlin.reflect.KMutableProperty1 visibility:public [final,static] ' type=kotlin.reflect.KMutableProperty1 origin=null diff --git a/compiler/testData/ir/irText/expressions/identity.txt b/compiler/testData/ir/irText/expressions/identity.txt index e25063aab17..5b37d5e2c7d 100644 --- a/compiler/testData/ir/irText/expressions/identity.txt +++ b/compiler/testData/ir/irText/expressions/identity.txt @@ -1,26 +1,26 @@ FILE fqName: fileName:/identity.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR 'a: kotlin.Int declared in .test1' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .test1' type=kotlin.Int origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Any? flags:[] + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQEQ + arg0: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQEQ + arg0: GET_VAR 'a: kotlin.Int declared in .test2' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .test2' type=kotlin.Int origin=null + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Any? + VALUE_PARAMETER name:b index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.Any?, b: kotlin.Any?): kotlin.Boolean declared in ' + CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR 'a: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null + arg1: GET_VAR 'b: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null diff --git a/compiler/testData/ir/irText/expressions/ifElseIf.txt b/compiler/testData/ir/irText/expressions/ifElseIf.txt index 8b5847609de..4be63318c3b 100644 --- a/compiler/testData/ir/irText/expressions/ifElseIf.txt +++ b/compiler/testData/ir/irText/expressions/ifElseIf.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/ifElseIf.kt - FUN name:test visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + FUN name:test visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:i index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (i: kotlin.Int): kotlin.Int declared in ' WHEN type=kotlin.Int origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + if: CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: GET_VAR 'i: kotlin.Int declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 then: CONST Int type=kotlin.Int value=1 BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + if: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'i: kotlin.Int declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 then: CONST Int type=kotlin.Int value=-1 BRANCH diff --git a/compiler/testData/ir/irText/expressions/implicitCastOnPlatformType.txt b/compiler/testData/ir/irText/expressions/implicitCastOnPlatformType.txt index 95c62efb356..c61dd192848 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastOnPlatformType.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastOnPlatformType.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/implicitCastOnPlatformType.kt - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getProperty visibility:public modality:OPEN <> (key:kotlin.String?) returnType:kotlin.String? flags:[]' type=kotlin.String? origin=null + RETURN type=kotlin.Nothing from='public final fun test (): kotlin.String declared in ' + CALL 'public open fun getProperty (key: kotlin.String?): kotlin.String? declared in java.lang.System' type=kotlin.String? origin=null key: CONST String type=kotlin.String value="test" diff --git a/compiler/testData/ir/irText/expressions/implicitCastToNonNull.txt b/compiler/testData/ir/irText/expressions/implicitCastToNonNull.txt index 52ef44b487b..d79c2d9c601 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToNonNull.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToNonNull.txt @@ -1,79 +1,79 @@ FILE fqName: fileName:/implicitCastToNonNull.kt - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[] + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.String? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.String?): kotlin.Int declared in ' WHEN type=kotlin.Int origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.String? declared in .test1' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null - FUN name:test2 visibility:public modality:FINAL (x:.test2.T) returnType:kotlin.Int flags:[] + then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'x: kotlin.String? declared in .test1' type=kotlin.String? origin=null + FUN name:test2 visibility:public modality:FINAL (x:T of .test2) returnType:kotlin.Int TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] - VALUE_PARAMETER name:x index:0 type:.test2.T flags:[] + VALUE_PARAMETER name:x index:0 type:T of .test2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL (x:.test2.T) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (x: T of .test2): kotlin.Int declared in ' WHEN type=kotlin.Int origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.test2.T flags:[]' type=.test2.T origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: T of .test2 declared in .test2' type=T of .test2 origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.test2.T flags:[]' type=.test2.T origin=null - FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int flags:[inline] + then: CALL 'public abstract fun (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'x: T of .test2 declared in .test2' type=T of .test2 origin=null + FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int flags:[inline]' + RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Any): kotlin.Int [inline] declared in ' WHEN type=kotlin.Int origin=IF BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.test3.T + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=T of .test3 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + then: CALL 'public abstract fun (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.CharSequence origin=IMPLICIT_CAST typeOperand=kotlin.CharSequence - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:CharSequence modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any?) returnType:kotlin.Int flags:[inline] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:CharSequence modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null + FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any?) returnType:kotlin.Int [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any?) returnType:kotlin.Int flags:[inline]' + RETURN type=kotlin.Nothing from='public final fun test4 (x: kotlin.Any?): kotlin.Int [inline] declared in ' WHEN type=kotlin.Int origin=IF BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.test4.T + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=T of .test4 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + GET_VAR 'x: kotlin.Any? declared in .test4' type=kotlin.Any? origin=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + then: CALL 'public abstract fun (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.CharSequence origin=IMPLICIT_CAST typeOperand=kotlin.CharSequence - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:CharSequence modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - FUN name:test5 visibility:public modality:FINAL (x:.test5.T, fn:kotlin.Function1<.test5.S, kotlin.Unit>) returnType:kotlin.Unit flags:[] - TYPE_PARAMETER name:T index:0 variance: superTypes:[.test5.S?] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:CharSequence modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'x: kotlin.Any? declared in .test4' type=kotlin.Any? origin=null + FUN name:test5 visibility:public modality:FINAL (x:T of .test5, fn:kotlin.Function1.test5, kotlin.Unit>) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[S of .test5?] TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:.test5.T flags:[] - VALUE_PARAMETER name:fn index:1 type:kotlin.Function1<.test5.S, kotlin.Unit> flags:[] + VALUE_PARAMETER name:x index:0 type:T of .test5 + VALUE_PARAMETER name:fn index:1 type:kotlin.Function1.test5, kotlin.Unit> BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.test5.T flags:[]' type=.test5.T origin=null + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'x: T of .test5 declared in .test5' type=T of .test5 origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function1, p1:kotlin.Function1.P1) returnType:kotlin.Function1.R flags:[]' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:fn index:1 type:kotlin.Function1<.test5.S, kotlin.Unit> flags:[]' type=kotlin.Function1<.test5.S, kotlin.Unit> origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.test5.T flags:[]' type=.test5.T origin=null + then: CALL 'public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'fn: kotlin.Function1.test5, kotlin.Unit> declared in .test5' type=kotlin.Function1.test5, kotlin.Unit> origin=VARIABLE_AS_FUNCTION + p1: GET_VAR 'x: T of .test5 declared in .test5' type=T of .test5 origin=null diff --git a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt index 9a4c841c148..7bad001b820 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt @@ -1,89 +1,89 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt - FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:.test1.T? flags:[inline] + FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T of .test1? [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:.test1.T? flags:[inline]' - WHEN type=.test1.T? origin=IF + RETURN type=kotlin.Nothing from='public final fun test1 (): T of .test1? [inline] declared in ' + WHEN type=T of .test1? origin=IF BRANCH - if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=.test1.T + if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T of .test1 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: TYPE_OP type=.test1.T origin=IMPLICIT_CAST typeOperand=.test1.T + GET_VAR ': kotlin.Any declared in .test1' type=kotlin.Any origin=null + then: TYPE_OP type=T of .test1 origin=IMPLICIT_CAST typeOperand=T of .test1 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Any flags:[]' type=kotlin.Any origin=null + GET_VAR ': kotlin.Any declared in .test1' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Null type=kotlin.Nothing? value=null - CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo<.Foo.T> flags:[] + CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo.Foo> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:asT visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($receiver:.Foo<..T>) returnType:..T? flags:[inline] - correspondingProperty: PROPERTY name:asT visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:asT visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($receiver:.Foo.>) returnType:T of .? [inline] + correspondingProperty: PROPERTY name:asT visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - $receiver: VALUE_PARAMETER name: type:.Foo<..T> flags:[] + $receiver: VALUE_PARAMETER name: type:.Foo.> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:.Foo<..T>) returnType:..T? flags:[inline]' - WHEN type=..T? origin=IF + RETURN type=kotlin.Nothing from='public final fun (): T of .? [inline] declared in ' + WHEN type=T of .? origin=IF BRANCH - if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=..T + if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T of . typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name: type:.Foo<..T> flags:[]' type=.Foo<..T> origin=null - then: TYPE_OP type=..T origin=IMPLICIT_CAST typeOperand=..T + GET_VAR ': .Foo.> declared in .' type=.Foo.> origin=null + then: TYPE_OP type=T of . origin=IMPLICIT_CAST typeOperand=T of . typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name: type:.Foo<..T> flags:[]' type=.Foo<..T> origin=null + GET_VAR ': .Foo.> declared in .' type=.Foo.> origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Null type=kotlin.Nothing? value=null - CLASS CLASS name:Bar modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Bar<.Bar.T> flags:[] + CLASS CLASS name:Bar modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Bar.Bar> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Bar<.Bar.T> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.Bar.Bar> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Bar modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:test visibility:public modality:FINAL <> ($this:.Bar<.Bar.T>, arg:kotlin.Any) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Bar<.Bar.T> flags:[] - VALUE_PARAMETER name:arg index:0 type:kotlin.Any flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Bar modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:test visibility:public modality:FINAL <> ($this:.Bar.Bar>, arg:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Bar.Bar> + VALUE_PARAMETER name:arg index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - TYPE_OP type=.Bar.T origin=CAST typeOperand=.Bar.T + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + TYPE_OP type=T of .Bar origin=CAST typeOperand=T of .Bar typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name:arg index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - CALL 'FUN name:useT visibility:public modality:FINAL <> ($this:.Bar<.Bar.T>, t:.Bar.T) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.Bar<.Bar.T> flags:[]' type=.Bar<.Bar.T> origin=null - t: TYPE_OP type=.Bar.T origin=IMPLICIT_CAST typeOperand=.Bar.T + GET_VAR 'arg: kotlin.Any declared in .Bar.test' type=kotlin.Any origin=null + CALL 'public final fun useT (t: T of .Bar): kotlin.Unit declared in .Bar' type=kotlin.Unit origin=null + $this: GET_VAR ': .Bar.Bar> declared in .Bar.test' type=.Bar.Bar> origin=null + t: TYPE_OP type=T of .Bar origin=IMPLICIT_CAST typeOperand=T of .Bar typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name:arg index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:useT visibility:public modality:FINAL <> ($this:.Bar<.Bar.T>, t:.Bar.T) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Bar<.Bar.T> flags:[] - VALUE_PARAMETER name:t index:0 type:.Bar.T flags:[] + GET_VAR 'arg: kotlin.Any declared in .Bar.test' type=kotlin.Any origin=null + FUN name:useT visibility:public modality:FINAL <> ($this:.Bar.Bar>, t:T of .Bar) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Bar.Bar> + VALUE_PARAMETER name:t index:0 type:T of .Bar BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/in.txt b/compiler/testData/ir/irText/expressions/in.txt index 95763e27c81..15ea524730c 100644 --- a/compiler/testData/ir/irText/expressions/in.txt +++ b/compiler/testData/ir/irText/expressions/in.txt @@ -1,37 +1,37 @@ FILE fqName: fileName:/in.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any, x:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any, x:kotlin.collections.Collection) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Any + VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any, x:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.collections.Collection.E) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=IN - $this: GET_VAR 'VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection flags:[]' type=kotlin.collections.Collection origin=null - element: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any, x:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Any, x: kotlin.collections.Collection): kotlin.Boolean declared in ' + CALL 'public abstract fun contains (element: E of kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Collection' type=kotlin.Boolean origin=IN + $this: GET_VAR 'x: kotlin.collections.Collection declared in .test1' type=kotlin.collections.Collection origin=null + element: GET_VAR 'a: kotlin.Any declared in .test1' type=kotlin.Any origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any, x:kotlin.collections.Collection) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Any + VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any, x:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=NOT_IN - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.collections.Collection.E) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=NOT_IN - $this: GET_VAR 'VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection flags:[]' type=kotlin.collections.Collection origin=null - element: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test3 visibility:public modality:FINAL (a:.test3.T, x:kotlin.collections.Collection<.test3.T>) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Any, x: kotlin.collections.Collection): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=NOT_IN + arg0: CALL 'public abstract fun contains (element: E of kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Collection' type=kotlin.Boolean origin=NOT_IN + $this: GET_VAR 'x: kotlin.collections.Collection declared in .test2' type=kotlin.collections.Collection origin=null + element: GET_VAR 'a: kotlin.Any declared in .test2' type=kotlin.Any origin=null + FUN name:test3 visibility:public modality:FINAL (a:T of .test3, x:kotlin.collections.Collection.test3>) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:a index:0 type:.test3.T flags:[] - VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<.test3.T> flags:[] + VALUE_PARAMETER name:a index:0 type:T of .test3 + VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test3> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL (a:.test3.T, x:kotlin.collections.Collection<.test3.T>) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.collections.Collection.E) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=IN - $this: GET_VAR 'VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<.test3.T> flags:[]' type=kotlin.collections.Collection<.test3.T> origin=null - element: GET_VAR 'VALUE_PARAMETER name:a index:0 type:.test3.T flags:[]' type=.test3.T origin=null - FUN name:test4 visibility:public modality:FINAL (a:.test4.T, x:kotlin.collections.Collection<.test4.T>) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun test3 (a: T of .test3, x: kotlin.collections.Collection.test3>): kotlin.Boolean declared in ' + CALL 'public abstract fun contains (element: E of kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Collection' type=kotlin.Boolean origin=IN + $this: GET_VAR 'x: kotlin.collections.Collection.test3> declared in .test3' type=kotlin.collections.Collection.test3> origin=null + element: GET_VAR 'a: T of .test3 declared in .test3' type=T of .test3 origin=null + FUN name:test4 visibility:public modality:FINAL (a:T of .test4, x:kotlin.collections.Collection.test4>) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:a index:0 type:.test4.T flags:[] - VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<.test4.T> flags:[] + VALUE_PARAMETER name:a index:0 type:T of .test4 + VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test4> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL (a:.test4.T, x:kotlin.collections.Collection<.test4.T>) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=NOT_IN - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.collections.Collection.E) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=NOT_IN - $this: GET_VAR 'VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<.test4.T> flags:[]' type=kotlin.collections.Collection<.test4.T> origin=null - element: GET_VAR 'VALUE_PARAMETER name:a index:0 type:.test4.T flags:[]' type=.test4.T origin=null + RETURN type=kotlin.Nothing from='public final fun test4 (a: T of .test4, x: kotlin.collections.Collection.test4>): kotlin.Boolean declared in ' + CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=NOT_IN + arg0: CALL 'public abstract fun contains (element: E of kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Collection' type=kotlin.Boolean origin=NOT_IN + $this: GET_VAR 'x: kotlin.collections.Collection.test4> declared in .test4' type=kotlin.collections.Collection.test4> origin=null + element: GET_VAR 'a: T of .test4 declared in .test4' type=T of .test4 origin=null diff --git a/compiler/testData/ir/irText/expressions/incrementDecrement.txt b/compiler/testData/ir/irText/expressions/incrementDecrement.txt index 4a015cf82bd..294a4ca53df 100644 --- a/compiler/testData/ir/irText/expressions/incrementDecrement.txt +++ b/compiler/testData/ir/irText/expressions/incrementDecrement.txt @@ -1,167 +1,167 @@ FILE fqName: fileName:/incrementDecrement.kt - PROPERTY name:p visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static] + PROPERTY name:p visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:arr visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:arr type:kotlin.IntArray visibility:public flags:[final,static] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:arr visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:arr type:kotlin.IntArray visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 CONST Int type=kotlin.Int value=3 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[] - correspondingProperty: PROPERTY name:arr visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:arr visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:arr type:kotlin.IntArray visibility:public flags:[final,static]' type=kotlin.IntArray origin=null - FUN name:testVarPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.IntArray declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:arr type:kotlin.IntArray visibility:public [final,static] ' type=kotlin.IntArray origin=null + FUN name:testVarPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.Int flags:[var] + VAR name:x type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - VAR name:x1 type:kotlin.Int flags:[val] + VAR name:x1 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=PREFIX_INCR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PREFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_INCR - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_INCR - VAR name:x2 type:kotlin.Int flags:[val] + SET_VAR 'var x: kotlin.Int [var] declared in .testVarPrefix' type=kotlin.Unit origin=PREFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR + $this: GET_VAR 'var x: kotlin.Int [var] declared in .testVarPrefix' type=kotlin.Int origin=PREFIX_INCR + GET_VAR 'var x: kotlin.Int [var] declared in .testVarPrefix' type=kotlin.Int origin=PREFIX_INCR + VAR name:x2 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=PREFIX_DECR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PREFIX_DECR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - $this: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_DECR - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=PREFIX_DECR - FUN name:testVarPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + SET_VAR 'var x: kotlin.Int [var] declared in .testVarPrefix' type=kotlin.Unit origin=PREFIX_DECR + CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR + $this: GET_VAR 'var x: kotlin.Int [var] declared in .testVarPrefix' type=kotlin.Int origin=PREFIX_DECR + GET_VAR 'var x: kotlin.Int [var] declared in .testVarPrefix' type=kotlin.Int origin=PREFIX_DECR + FUN name:testVarPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.Int flags:[var] + VAR name:x type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - VAR name:x1 type:kotlin.Int flags:[val] + VAR name:x1 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - VAR name:x2 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + GET_VAR 'var x: kotlin.Int [var] declared in .testVarPostfix' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var x: kotlin.Int [var] declared in .testVarPostfix' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0: kotlin.Int [val] declared in .testVarPostfix' type=kotlin.Int origin=null + GET_VAR 'val tmp0: kotlin.Int [val] declared in .testVarPostfix' type=kotlin.Int origin=null + VAR name:x2 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_DECR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_DECR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUN name:testPropPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int [val] + GET_VAR 'var x: kotlin.Int [var] declared in .testVarPostfix' type=kotlin.Int origin=POSTFIX_DECR + SET_VAR 'var x: kotlin.Int [var] declared in .testVarPostfix' type=kotlin.Unit origin=POSTFIX_DECR + CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR + $this: GET_VAR 'val tmp1: kotlin.Int [val] declared in .testVarPostfix' type=kotlin.Int origin=null + GET_VAR 'val tmp1: kotlin.Int [val] declared in .testVarPostfix' type=kotlin.Int origin=null + FUN name:testPropPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:p1 type:kotlin.Int flags:[val] + VAR name:p1 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=PREFIX_INCR BLOCK type=kotlin.Int origin=PREFIX_INCR - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PREFIX_INCR - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - VAR name:p2 type:kotlin.Int flags:[val] + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PREFIX_INCR + : CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PREFIX_INCR + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PREFIX_INCR + VAR name:p2 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=PREFIX_DECR BLOCK type=kotlin.Int origin=PREFIX_DECR - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PREFIX_DECR - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - FUN name:testPropPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PREFIX_DECR + : CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PREFIX_DECR + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PREFIX_DECR + FUN name:testPropPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:p1 type:kotlin.Int flags:[val] + VAR name:p1 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=POSTFIX_INCR BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - VAR name:p2 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=POSTFIX_INCR + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=POSTFIX_INCR + : CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0: kotlin.Int [val] declared in .testPropPostfix' type=kotlin.Int origin=null + GET_VAR 'val tmp0: kotlin.Int [val] declared in .testPropPostfix' type=kotlin.Int origin=null + VAR name:p2 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=PREFIX_DECR BLOCK type=kotlin.Int origin=PREFIX_DECR - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PREFIX_DECR - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - FUN name:testArrayPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PREFIX_DECR + : CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR + $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PREFIX_DECR + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PREFIX_DECR + FUN name:testArrayPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:a1 type:kotlin.Int flags:[val] + VAR name:a1 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=PREFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray [val] + CALL 'public final fun (): kotlin.IntArray declared in ' type=kotlin.IntArray origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PREFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - VAR name:a2 type:kotlin.Int flags:[val] + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PREFIX_INCR + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testArrayPrefix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testArrayPrefix' type=kotlin.Int origin=null + value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR + $this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PREFIX_INCR + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testArrayPrefix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testArrayPrefix' type=kotlin.Int origin=null + CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PREFIX_INCR + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testArrayPrefix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testArrayPrefix' type=kotlin.Int origin=null + VAR name:a2 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=PREFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp2_array type:kotlin.IntArray flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - VAR IR_TEMPORARY_VARIABLE name:tmp3_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp2_array type:kotlin.IntArray [val] + CALL 'public final fun (): kotlin.IntArray declared in ' type=kotlin.IntArray origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp3_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PREFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PREFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUN name:testArrayPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PREFIX_DECR + $this: GET_VAR 'val tmp2_array: kotlin.IntArray [val] declared in .testArrayPrefix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp3_index0: kotlin.Int [val] declared in .testArrayPrefix' type=kotlin.Int origin=null + value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR + $this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PREFIX_DECR + $this: GET_VAR 'val tmp2_array: kotlin.IntArray [val] declared in .testArrayPrefix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp3_index0: kotlin.Int [val] declared in .testArrayPrefix' type=kotlin.Int origin=null + CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PREFIX_DECR + $this: GET_VAR 'val tmp2_array: kotlin.IntArray [val] declared in .testArrayPrefix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp3_index0: kotlin.Int [val] declared in .testArrayPrefix' type=kotlin.Int origin=null + FUN name:testArrayPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:a1 type:kotlin.Int flags:[val] + VAR name:a1 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray [val] + CALL 'public final fun (): kotlin.IntArray declared in ' type=kotlin.IntArray origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - VAR name:a2 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int [val] + CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testArrayPostfix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_array: kotlin.IntArray [val] declared in .testArrayPostfix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null + value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp2: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null + GET_VAR 'val tmp2: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null + VAR name:a2 type:kotlin.Int [val] BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp3_array type:kotlin.IntArray flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=GET_PROPERTY - VAR IR_TEMPORARY_VARIABLE name:tmp4_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp3_array type:kotlin.IntArray [val] + CALL 'public final fun (): kotlin.IntArray declared in ' type=kotlin.IntArray origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp4_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:FINAL <> ($this:kotlin.IntArray, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_array type:kotlin.IntArray flags:[val]' type=kotlin.IntArray origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int [val] + CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=POSTFIX_DECR + $this: GET_VAR 'val tmp3_array: kotlin.IntArray [val] declared in .testArrayPostfix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp4_index0: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=POSTFIX_DECR + $this: GET_VAR 'val tmp3_array: kotlin.IntArray [val] declared in .testArrayPostfix' type=kotlin.IntArray origin=null + index: GET_VAR 'val tmp4_index0: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null + value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR + $this: GET_VAR 'val tmp5: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null + GET_VAR 'val tmp5: kotlin.Int [val] declared in .testArrayPostfix' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/interfaceThisRef.txt b/compiler/testData/ir/irText/expressions/interfaceThisRef.txt index afa8f6664c7..ce14313e734 100644 --- a/compiler/testData/ir/irText/expressions/interfaceThisRef.txt +++ b/compiler/testData/ir/irText/expressions/interfaceThisRef.txt @@ -1,23 +1,23 @@ FILE fqName: fileName:/interfaceThisRef.kt - CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo flags:[] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFoo flags:[] - FUN name:bar visibility:public modality:OPEN <> ($this:.IFoo) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.IFoo flags:[] + CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFoo + FUN name:bar visibility:public modality:OPEN <> ($this:.IFoo) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.IFoo BLOCK_BODY - CALL 'FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.IFoo flags:[]' type=.IFoo origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public abstract fun foo (): kotlin.Unit declared in .IFoo' type=kotlin.Unit origin=null + $this: GET_VAR ': .IFoo declared in .IFoo.bar' type=.IFoo origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/javaSyntheticPropertyAccess.txt b/compiler/testData/ir/irText/expressions/javaSyntheticPropertyAccess.txt index 9e2d9adc4a9..6fbc3b7418a 100644 --- a/compiler/testData/ir/irText/expressions/javaSyntheticPropertyAccess.txt +++ b/compiler/testData/ir/irText/expressions/javaSyntheticPropertyAccess.txt @@ -1,34 +1,34 @@ FILE fqName: fileName:/javaSyntheticPropertyAccess.kt - FUN name:test visibility:public modality:FINAL <> (j:.J) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:j index:0 type:.J flags:[] + FUN name:test visibility:public modality:FINAL <> (j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:j index:0 type:.J BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getFoo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:j index:0 type:.J flags:[]' type=.J origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:setFoo visibility:public modality:OPEN <> ($this:.J, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER name:j index:0 type:.J flags:[]' type=.J origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public open fun getFoo (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun setFoo (x: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=EQ + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null x: CONST Int type=kotlin.Int value=1 TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_receiver type:.J flags:[val] - GET_VAR 'VALUE_PARAMETER name:j index:0 type:.J flags:[]' type=.J origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_receiver type:.J [val] + GET_VAR 'j: .J declared in .test' type=.J origin=null BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val] - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getFoo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_receiver type:.J flags:[val]' type=.J origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:setFoo visibility:public modality:OPEN <> ($this:.J, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_receiver type:.J flags:[val]' type=.J origin=null - x: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int [val] + CALL 'public open fun getFoo (): kotlin.Int declared in .J' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_receiver: .J [val] declared in .test' type=.J origin=null + CALL 'public open fun setFoo (x: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0_receiver: .J [val] declared in .test' type=.J origin=null + x: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp1: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + GET_VAR 'val tmp1: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp2_receiver type:.J flags:[val] - GET_VAR 'VALUE_PARAMETER name:j index:0 type:.J flags:[]' type=.J origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:setFoo visibility:public modality:OPEN <> ($this:.J, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_receiver type:.J flags:[val]' type=.J origin=null - x: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getFoo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_receiver type:.J flags:[val]' type=.J origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2_receiver type:.J [val] + GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun setFoo (x: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR 'val tmp2_receiver: .J [val] declared in .test' type=.J origin=null + x: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public open fun getFoo (): kotlin.Int declared in .J' type=kotlin.Int origin=PLUSEQ + $this: GET_VAR 'val tmp2_receiver: .J [val] declared in .test' type=.J origin=null other: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt index c7658bd9abe..bb85555ad28 100644 --- a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt +++ b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt @@ -1,42 +1,42 @@ FILE fqName: fileName:/Derived.kt - CLASS CLASS name:Derived modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Derived flags:[primary] + CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived + CONSTRUCTOR visibility:public <> () returnType:.Derived [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public flags:[] superTypes:[.Base]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[.Base]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived flags:[]' type=.Derived origin=null + SET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Derived declared in .Derived' type=.Derived origin=null value: CONST Int type=kotlin.Int value=0 - FUN name:getValue visibility:public modality:FINAL <> ($this:.Derived) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Derived flags:[] + FUN name:getValue visibility:public modality:FINAL <> ($this:.Derived) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Derived BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:.Derived) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=GET_PROPERTY - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Derived flags:[]' type=.Derived origin=null - FUN name:setValue visibility:public modality:FINAL <> ($this:.Derived, value:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Derived flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun getValue (): kotlin.Int declared in .Derived' + GET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public ' type=kotlin.Int origin=GET_PROPERTY + receiver: GET_VAR ': .Derived declared in .Derived.getValue' type=.Derived origin=null + FUN name:setValue visibility:public modality:FINAL <> ($this:.Derived, value:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Derived + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Derived flags:[]' type=.Derived origin=null - value: GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL flags:[var] - FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public flags:[] + SET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Derived declared in .Derived.setValue' type=.Derived origin=null + value: GET_VAR 'value: kotlin.Int declared in .Derived.setValue' type=kotlin.Int origin=null + PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [var] + FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public overridden: - FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:value type:kotlin.Int visibility:public flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:value type:kotlin.Int visibility:public + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt b/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt index 492bdf55e00..e7f52f80473 100644 --- a/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt +++ b/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt @@ -1,64 +1,64 @@ FILE fqName: fileName:/jvmStaticFieldReference.kt - FUN name:testFun visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:testFun visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:println visibility:public modality:OPEN <> ($this:java.io.PrintStream, x:kotlin.String?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public flags:[final,static]' type=java.io.PrintStream? origin=GET_PROPERTY + CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static] ' type=java.io.PrintStream? origin=GET_PROPERTY x: CONST String type=kotlin.String value="testFun" - PROPERTY name:testProp visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:testProp visibility:public modality:FINAL flags:[var] + PROPERTY name:testProp visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Any + correspondingProperty: PROPERTY name:testProp visibility:public modality:FINAL [var] BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:println visibility:public modality:OPEN <> ($this:java.io.PrintStream, x:kotlin.String?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public flags:[final,static]' type=java.io.PrintStream? origin=GET_PROPERTY + CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static] ' type=java.io.PrintStream? origin=GET_PROPERTY x: CONST String type=kotlin.String value="testProp/get" - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in ' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> (value:kotlin.Any) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:testProp visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name:value index:0 type:kotlin.Any flags:[] + FUN name: visibility:public modality:FINAL <> (value:kotlin.Any) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:testProp visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.Any BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:println visibility:public modality:OPEN <> ($this:java.io.PrintStream, x:kotlin.String?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public flags:[final,static]' type=java.io.PrintStream? origin=GET_PROPERTY + CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static] ' type=java.io.PrintStream? origin=GET_PROPERTY x: CONST String type=kotlin.String value="testProp/set" - CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary] + CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass + CONSTRUCTOR visibility:public <> () returnType:.TestClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public [final] EXPRESSION_BODY WHEN type=kotlin.Int origin=WHEN BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: BLOCK type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:println visibility:public modality:OPEN <> ($this:java.io.PrintStream, x:kotlin.String?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public flags:[final,static]' type=java.io.PrintStream? origin=GET_PROPERTY + CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static] ' type=java.io.PrintStream? origin=GET_PROPERTY x: CONST String type=kotlin.String value="TestClass/test" CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestClass) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestClass flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestClass BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestClass) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestClass flags:[]' type=.TestClass origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .TestClass declared in .TestClass.' type=.TestClass origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:println visibility:public modality:OPEN <> ($this:java.io.PrintStream, x:kotlin.String?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public flags:[final,static]' type=java.io.PrintStream? origin=GET_PROPERTY + CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static] ' type=java.io.PrintStream? origin=GET_PROPERTY x: CONST String type=kotlin.String value="TestClass/init" - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/kt16904.txt b/compiler/testData/ir/irText/expressions/kt16904.txt index 09cbda11700..219a6e82de8 100644 --- a/compiler/testData/ir/irText/expressions/kt16904.txt +++ b/compiler/testData/ir/irText/expressions/kt16904.txt @@ -1,160 +1,160 @@ FILE fqName: fileName:/kt16904.kt - CLASS CLASS name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.B visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:.B visibility:public [final] EXPRESSION_BODY - CALL 'CONSTRUCTOR visibility:public <> () returnType:.B flags:[primary]' type=.B origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:.B flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + CALL 'public constructor () [primary] declared in .B' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:.B + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:.B flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.B visibility:public flags:[final]' type=.B origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public final fun (): .B declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.B visibility:public [final] ' type=.B origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:y visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:public <> () returnType:.B flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:plusAssign visibility:public modality:FINAL <> ($this:.B, x:kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.B flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:plusAssign visibility:public modality:FINAL <> ($this:.B, x:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.A] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> () returnType:.Test1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.A]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.A]' BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.Test1 flags:[val] - GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[]' type=.Test1 origin=null - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:.B, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:.B flags:[]' type=.B origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.Test1 flags:[val]' type=.Test1 origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.Test1 [val] + GET_VAR ': .Test1 declared in .Test1' type=.Test1 origin=null + CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=PLUSEQ + $this: CALL 'public final fun (): .B declared in .Test1' type=.B origin=PLUSEQ + $this: GET_VAR 'val tmp0_this: .Test1 [val] declared in .Test1.' type=.Test1 origin=null x: CONST Int type=kotlin.Int value=42 BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp1_this type:.Test1 flags:[val] - GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[]' type=.Test1 origin=null - CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_this type:.Test1 flags:[val]' type=.Test1 origin=null - : CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_this type:.Test1 flags:[val]' type=.Test1 origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_this type:.Test1 [val] + GET_VAR ': .Test1 declared in .Test1' type=.Test1 origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Test1' type=kotlin.Unit origin=PLUSEQ + $this: GET_VAR 'val tmp1_this: .Test1 [val] declared in .Test1.' type=.Test1 origin=null + : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public final fun (): kotlin.Int declared in .Test1' type=kotlin.Int origin=PLUSEQ + $this: GET_VAR 'val tmp1_this: .Test1 [val] declared in .Test1.' type=.Test1 origin=null other: CONST Int type=kotlin.Int value=42 - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:.B visibility:public flags:[final] + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:.B visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:.B visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:.B flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:.B visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:.B + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:.B flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[var] - FIELD FAKE_OVERRIDE name:y type:kotlin.Int visibility:public flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:.B + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [var] + FIELD FAKE_OVERRIDE name:y type:kotlin.Int visibility:public overridden: - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[var] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[.J] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test2 flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + CONSTRUCTOR visibility:public <> () returnType:.Test2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[.J]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[.J]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD FAKE_OVERRIDE name:field type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[]' type=.Test2 origin=null + SET_FIELD 'FIELD FAKE_OVERRIDE name:field type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Test2 declared in .Test2' type=.Test2 origin=null value: CONST Int type=kotlin.Int value=42 - PROPERTY FAKE_OVERRIDE name:field visibility:public modality:FINAL flags:[var] - FIELD FAKE_OVERRIDE name:field type:kotlin.Int visibility:public flags:[] + PROPERTY FAKE_OVERRIDE name:field visibility:public modality:FINAL [var] + FIELD FAKE_OVERRIDE name:field type:kotlin.Int visibility:public overridden: - FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:field type:kotlin.Int visibility:public flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:field type:kotlin.Int visibility:public + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/kt16905.txt b/compiler/testData/ir/irText/expressions/kt16905.txt index 545368cdfd9..e39de38c14e 100644 --- a/compiler/testData/ir/irText/expressions/kt16905.txt +++ b/compiler/testData/ir/irText/expressions/kt16905.txt @@ -1,87 +1,87 @@ FILE fqName: fileName:/kt16905.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer + CONSTRUCTOR visibility:public <> () returnType:.Outer [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:Inner modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:InnerDerived0 modality:FINAL visibility:public flags:[inner] superTypes:[.Outer.Inner] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.InnerDerived0 flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.InnerDerived0 flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:InnerDerived0 modality:FINAL visibility:public [inner] superTypes:[.Outer.Inner] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.InnerDerived0 + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.InnerDerived0 [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InnerDerived0 modality:FINAL visibility:public flags:[inner] superTypes:[.Outer.Inner]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Outer.Inner' + $this: GET_VAR ': .Outer declared in .Outer.InnerDerived0.' type=.Outer origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InnerDerived0 modality:FINAL visibility:public [inner] superTypes:[.Outer.Inner]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:InnerDerived1 modality:FINAL visibility:public flags:[inner] superTypes:[.Outer.Inner] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.InnerDerived1 flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.InnerDerived1 flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:InnerDerived1 modality:FINAL visibility:public [inner] superTypes:[.Outer.Inner] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.InnerDerived1 + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.InnerDerived1 [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InnerDerived1 modality:FINAL visibility:public flags:[inner] superTypes:[.Outer.Inner]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Outer.Inner' + $this: GET_VAR ': .Outer declared in .Outer.InnerDerived1.' type=.Outer origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InnerDerived1 modality:FINAL visibility:public [inner] superTypes:[.Outer.Inner]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:.Outer.Inner flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:.Outer.Inner BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:.Outer.Inner flags:[]' - CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary]' type=.Outer.Inner origin=null - $this: CALL 'CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary]' type=.Outer origin=null + RETURN type=kotlin.Nothing from='public final fun test (): .Outer.Inner declared in ' + CALL 'public constructor () [primary] declared in .Outer.Inner' type=.Outer.Inner origin=null + $this: CALL 'public constructor () [primary] declared in .Outer' type=.Outer origin=null diff --git a/compiler/testData/ir/irText/expressions/kt23030.txt b/compiler/testData/ir/irText/expressions/kt23030.txt index f02f73de755..42125a1a90f 100644 --- a/compiler/testData/ir/irText/expressions/kt23030.txt +++ b/compiler/testData/ir/irText/expressions/kt23030.txt @@ -1,141 +1,141 @@ FILE fqName: fileName:/kt23030.kt - FUN name:compareTo visibility:public modality:FINAL <> ($receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] - VALUE_PARAMETER name:c index:0 type:kotlin.Char flags:[] + FUN name:compareTo visibility:public modality:FINAL <> ($receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Int + VALUE_PARAMETER name:c index:0 type:kotlin.Char BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:compareTo visibility:public modality:FINAL <> ($receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun compareTo (c: kotlin.Char): kotlin.Int declared in ' CONST Int type=kotlin.Int value=0 - FUN name:testOverloadedCompareToCall visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Char flags:[] + FUN name:testOverloadedCompareToCall visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Char BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testOverloadedCompareToCall visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN name:compareTo visibility:public modality:FINAL <> ($receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LT - $receiver: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - c: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Char flags:[]' type=kotlin.Char origin=null + RETURN type=kotlin.Nothing from='public final fun testOverloadedCompareToCall (x: kotlin.Int, y: kotlin.Char): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in ' type=kotlin.Int origin=LT + $receiver: GET_VAR 'x: kotlin.Int declared in .testOverloadedCompareToCall' type=kotlin.Int origin=null + c: GET_VAR 'y: kotlin.Char declared in .testOverloadedCompareToCall' type=kotlin.Char origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:testOverloadedCompareToCallWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testOverloadedCompareToCallWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testOverloadedCompareToCallWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testOverloadedCompareToCallWithSmartCast (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Char - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN name:compareTo visibility:public modality:FINAL <> ($receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LT + then: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in ' type=kotlin.Int origin=LT $receiver: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null c: TYPE_OP type=kotlin.Char origin=IMPLICIT_CAST typeOperand=kotlin.Char - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN name:testEqualsWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testEqualsWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testEqualsWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testEqualsWithSmartCast (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Char - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null + arg1: GET_VAR 'y: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:compareTo visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] - VALUE_PARAMETER name:c index:0 type:kotlin.Char flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:compareTo visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:kotlin.Int + VALUE_PARAMETER name:c index:0 type:kotlin.Char BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:compareTo visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun compareTo (c: kotlin.Char): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=0 - FUN name:testMemberExtensionCompareToCall visibility:public modality:FINAL <> ($this:.C, x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Char flags:[] + FUN name:testMemberExtensionCompareToCall visibility:public modality:FINAL <> ($this:.C, x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Char BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testMemberExtensionCompareToCall visibility:public modality:FINAL <> ($this:.C, x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN name:compareTo visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LT - $this: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - c: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Char flags:[]' type=kotlin.Char origin=null + RETURN type=kotlin.Nothing from='public final fun testMemberExtensionCompareToCall (x: kotlin.Int, y: kotlin.Char): kotlin.Boolean declared in .C' + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in .C' type=kotlin.Int origin=LT + $this: GET_VAR ': .C declared in .C.testMemberExtensionCompareToCall' type=.C origin=null + $receiver: GET_VAR 'x: kotlin.Int declared in .C.testMemberExtensionCompareToCall' type=kotlin.Int origin=null + c: GET_VAR 'y: kotlin.Char declared in .C.testMemberExtensionCompareToCall' type=kotlin.Char origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:testMemberExtensionCompareToCallWithSmartCast visibility:public modality:FINAL <> ($this:.C, x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] + FUN name:testMemberExtensionCompareToCallWithSmartCast visibility:public modality:FINAL <> ($this:.C, x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:x index:0 type:kotlin.Any + VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testMemberExtensionCompareToCallWithSmartCast visibility:public modality:FINAL <> ($this:.C, x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun testMemberExtensionCompareToCallWithSmartCast (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in .C' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Char - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN name:compareTo visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LT - $this: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null + then: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in .C' type=kotlin.Int origin=LT + $this: GET_VAR ': .C declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=.C origin=null $receiver: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null c: TYPE_OP type=kotlin.Char origin=IMPLICIT_CAST typeOperand=kotlin.Char - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Char modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'y: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/kt24804.txt b/compiler/testData/ir/irText/expressions/kt24804.txt index 96f9e46b26d..b587f320ff1 100644 --- a/compiler/testData/ir/irText/expressions/kt24804.txt +++ b/compiler/testData/ir/irText/expressions/kt24804.txt @@ -1,42 +1,42 @@ FILE fqName: fileName:/kt24804.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[inline] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Boolean [inline] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[inline]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Boolean [inline] declared in ' CONST Boolean type=kotlin.Boolean value=false - FUN name:run visibility:public modality:FINAL <> (x:kotlin.Boolean, y:kotlin.Boolean) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Boolean flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Boolean flags:[] + FUN name:run visibility:public modality:FINAL <> (x:kotlin.Boolean, y:kotlin.Boolean) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Boolean + VALUE_PARAMETER name:y index:1 type:kotlin.Boolean BLOCK_BODY - VAR name:z type:kotlin.Int flags:[var] + VAR name:z type:kotlin.Int [var] CONST Int type=kotlin.Int value=10 BLOCK type=kotlin.Unit origin=null DO_WHILE label=l2 origin=DO_WHILE_LOOP body: COMPOSITE type=kotlin.Unit origin=null - SET_VAR 'VAR name:z type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PLUSEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'VAR name:z type:kotlin.Int flags:[var]' type=kotlin.Int origin=PLUSEQ + SET_VAR 'var z: kotlin.Int [var] declared in .run' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: GET_VAR 'var z: kotlin.Int [var] declared in .run' type=kotlin.Int origin=PLUSEQ other: CONST Int type=kotlin.Int value=1 WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'VAR name:z type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + if: CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: GET_VAR 'var z: kotlin.Int [var] declared in .run' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=100 - then: RETURN type=kotlin.Nothing from='FUN name:run visibility:public modality:FINAL <> (x:kotlin.Boolean, y:kotlin.Boolean) returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun run (x: kotlin.Boolean, y: kotlin.Boolean): kotlin.String declared in ' CONST String type=kotlin.String value="NOT_OK" WHEN type=kotlin.Unit origin=IF BRANCH - if: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + if: GET_VAR 'x: kotlin.Boolean declared in .run' type=kotlin.Boolean origin=null then: CONTINUE label=l2 loop.label=l2 WHEN type=kotlin.Unit origin=IF BRANCH - if: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + if: GET_VAR 'y: kotlin.Boolean declared in .run' type=kotlin.Boolean origin=null then: CONTINUE label=l2 loop.label=l2 - condition: CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[inline]' type=kotlin.Boolean origin=null - RETURN type=kotlin.Nothing from='FUN name:run visibility:public modality:FINAL <> (x:kotlin.Boolean, y:kotlin.Boolean) returnType:kotlin.String flags:[]' + condition: CALL 'public final fun foo (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null + RETURN type=kotlin.Nothing from='public final fun run (x: kotlin.Boolean, y: kotlin.Boolean): kotlin.String declared in ' CONST String type=kotlin.String value="OK" - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name:run visibility:public modality:FINAL <> (x:kotlin.Boolean, y:kotlin.Boolean) returnType:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun run (x: kotlin.Boolean, y: kotlin.Boolean): kotlin.String declared in ' type=kotlin.String origin=null x: CONST Boolean type=kotlin.Boolean value=true y: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/expressions/kt27933.txt b/compiler/testData/ir/irText/expressions/kt27933.txt index 9727561f36b..dd5b3502307 100644 --- a/compiler/testData/ir/irText/expressions/kt27933.txt +++ b/compiler/testData/ir/irText/expressions/kt27933.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/kt27933.kt - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - VAR name:r type:kotlin.String flags:[var] + VAR name:r type:kotlin.String [var] CONST String type=kotlin.String value="" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'VAR name:r type:kotlin.String flags:[var]' type=kotlin.String origin=null + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'var r: kotlin.String [var] declared in .box' type=kotlin.String origin=null arg1: CONST String type=kotlin.String value="" then: BLOCK type=kotlin.Nothing origin=IF BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: SET_VAR 'VAR name:r type:kotlin.String flags:[var]' type=kotlin.Unit origin=PLUSEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUSEQ - $this: GET_VAR 'VAR name:r type:kotlin.String flags:[var]' type=kotlin.String origin=PLUSEQ + then: SET_VAR 'var r: kotlin.String [var] declared in .box' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ + $this: GET_VAR 'var r: kotlin.String [var] declared in .box' type=kotlin.String origin=PLUSEQ other: CONST String type=kotlin.String value="O" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR name:r type:kotlin.String flags:[var]' type=kotlin.String origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'var r: kotlin.String [var] declared in .box' type=kotlin.String origin=null arg1: CONST String type=kotlin.String value="O" - then: SET_VAR 'VAR name:r type:kotlin.String flags:[var]' type=kotlin.Unit origin=PLUSEQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUSEQ - $this: GET_VAR 'VAR name:r type:kotlin.String flags:[var]' type=kotlin.String origin=PLUSEQ + then: SET_VAR 'var r: kotlin.String [var] declared in .box' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ + $this: GET_VAR 'var r: kotlin.String [var] declared in .box' type=kotlin.String origin=PLUSEQ other: CONST String type=kotlin.String value="K" - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_VAR 'VAR name:r type:kotlin.String flags:[var]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + GET_VAR 'var r: kotlin.String [var] declared in .box' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/kt28006.txt b/compiler/testData/ir/irText/expressions/kt28006.txt index 4c232cc5937..28ca7f2543a 100644 --- a/compiler/testData/ir/irText/expressions/kt28006.txt +++ b/compiler/testData/ir/irText/expressions/kt28006.txt @@ -1,77 +1,77 @@ FILE fqName: fileName:/kt28006.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="\uD83E\uDD17" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="\uD83E\uDD17\uD83E\uDD17" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:testConst1 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:testConst1 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:testConst1 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:testConst1 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="\uD83E\uDD17" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testConst1 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testConst1 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst1 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:testConst2 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:testConst2 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst1 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:testConst2 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:testConst2 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="\uD83E\uDD17\uD83E\uDD17" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testConst2 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testConst2 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst2 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:testConst3 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:testConst3 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst2 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:testConst3 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:testConst3 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="\uD83E\uDD17\uD83E\uDD17\uD83E\uDD17" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testConst3 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testConst3 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst3 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:testConst4 visibility:public modality:FINAL flags:[const,val] - FIELD PROPERTY_BACKING_FIELD name:testConst4 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst3 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:testConst4 visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:testConst4 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="\uD83E\uDD17\uD83E\uDD17\uD83E\uDD17\uD83E\uDD17" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:testConst4 visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:testConst4 visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst4 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testConst4 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Int): kotlin.String declared in ' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="\uD83E\uDD17" - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + GET_VAR 'x: kotlin.Int declared in .test1' type=kotlin.Int origin=null + FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.Int): kotlin.String declared in ' STRING_CONCATENATION type=kotlin.String - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + GET_VAR 'x: kotlin.Int declared in .test2' type=kotlin.Int origin=null CONST String type=kotlin.String value="\uD83E\uDD17" - FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Int): kotlin.String declared in ' STRING_CONCATENATION type=kotlin.String - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + GET_VAR 'x: kotlin.Int declared in .test3' type=kotlin.Int origin=null CONST String type=kotlin.String value="\uD83E\uDD17" - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + GET_VAR 'x: kotlin.Int declared in .test3' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/kt28456.txt b/compiler/testData/ir/irText/expressions/kt28456.txt index eead63bb206..31762291453 100644 --- a/compiler/testData/ir/irText/expressions/kt28456.txt +++ b/compiler/testData/ir/irText/expressions/kt28456.txt @@ -1,85 +1,85 @@ FILE fqName: fileName:/kt28456.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:get visibility:public modality:FINAL <> ($receiver:.A, xs:kotlin.IntArray) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int flags:[vararg] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:FINAL <> ($receiver:.A, xs:kotlin.IntArray) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int [vararg] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:get visibility:public modality:FINAL <> ($receiver:.A, xs:kotlin.IntArray) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun get (vararg xs: kotlin.Int): kotlin.Int declared in ' CONST Int type=kotlin.Int value=0 - FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:kotlin.Int flags:[] - VALUE_PARAMETER name:v index:2 type:kotlin.Int flags:[] + FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:kotlin.Int + VALUE_PARAMETER name:v index:2 type:kotlin.Int BLOCK_BODY - FUN name:testSimpleAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:.A flags:[] + FUN name:testSimpleAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A BLOCK_BODY - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' type=.A origin=null + CALL 'public final fun set (i: kotlin.Int, j: kotlin.Int, v: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ + $receiver: GET_VAR 'a: .A declared in .testSimpleAssignment' type=.A origin=null i: CONST Int type=kotlin.Int value=1 j: CONST Int type=kotlin.Int value=2 v: CONST Int type=kotlin.Int value=0 - FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:.A flags:[] + FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testPostfixIncrement (a: .A): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' type=.A origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A [val] + GET_VAR 'a: .A declared in .testPostfixIncrement' type=.A origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=1 - VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int [val] CONST Int type=kotlin.Int value=2 - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val] - CALL 'FUN name:get visibility:public modality:FINAL <> ($receiver:.A, xs:kotlin.IntArray) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int [val] + CALL 'public final fun get (vararg xs: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testPostfixIncrement' type=.A origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null - i: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - j: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - v: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUN name:testCompoundAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:.A flags:[] + GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + GET_VAR 'val tmp2_index1: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + CALL 'public final fun set (i: kotlin.Int, j: kotlin.Int, v: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testPostfixIncrement' type=.A origin=null + i: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + j: GET_VAR 'val tmp2_index1: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + v: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp3: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + GET_VAR 'val tmp3: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + FUN name:testCompoundAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' type=.A origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A [val] + GET_VAR 'a: .A declared in .testCompoundAssignment' type=.A origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=1 - VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int [val] CONST Int type=kotlin.Int value=2 - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null - i: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - j: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - v: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN name:get visibility:public modality:FINAL <> ($receiver:.A, xs:kotlin.IntArray) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null + CALL 'public final fun set (i: kotlin.Int, j: kotlin.Int, v: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testCompoundAssignment' type=.A origin=null + i: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testCompoundAssignment' type=kotlin.Int origin=null + j: GET_VAR 'val tmp2_index1: kotlin.Int [val] declared in .testCompoundAssignment' type=kotlin.Int origin=null + v: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public final fun get (vararg xs: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testCompoundAssignment' type=.A origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testCompoundAssignment' type=kotlin.Int origin=null + GET_VAR 'val tmp2_index1: kotlin.Int [val] declared in .testCompoundAssignment' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=10 diff --git a/compiler/testData/ir/irText/expressions/kt28456a.txt b/compiler/testData/ir/irText/expressions/kt28456a.txt index ef99596e616..79eea86373b 100644 --- a/compiler/testData/ir/irText/expressions/kt28456a.txt +++ b/compiler/testData/ir/irText/expressions/kt28456a.txt @@ -1,33 +1,33 @@ FILE fqName: fileName:/kt28456a.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.IntArray, v:kotlin.Int) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.IntArray varargElementType:kotlin.Int flags:[vararg] - VALUE_PARAMETER name:v index:1 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.IntArray, v:kotlin.Int) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.IntArray varargElementType:kotlin.Int [vararg] + VALUE_PARAMETER name:v index:1 type:kotlin.Int BLOCK_BODY - FUN name:testSimpleAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:.A flags:[] + FUN name:testSimpleAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A BLOCK_BODY - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.IntArray, v:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' type=.A origin=null + CALL 'public final fun set (vararg i: kotlin.Int, v: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ + $receiver: GET_VAR 'a: .A declared in .testSimpleAssignment' type=.A origin=null i: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=1 CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irText/expressions/kt28456b.txt b/compiler/testData/ir/irText/expressions/kt28456b.txt index f40f411c6ab..db2c15f222f 100644 --- a/compiler/testData/ir/irText/expressions/kt28456b.txt +++ b/compiler/testData/ir/irText/expressions/kt28456b.txt @@ -1,88 +1,88 @@ FILE fqName: fileName:/kt28456b.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:get visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, a:kotlin.Int, b:kotlin.Int, c:kotlin.Int, d:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:1 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, a:kotlin.Int, b:kotlin.Int, c:kotlin.Int, d:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:a index:1 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - VALUE_PARAMETER name:b index:2 type:kotlin.Int flags:[] + VALUE_PARAMETER name:b index:2 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=2 - VALUE_PARAMETER name:c index:3 type:kotlin.Int flags:[] + VALUE_PARAMETER name:c index:3 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=3 - VALUE_PARAMETER name:d index:4 type:kotlin.Int flags:[] + VALUE_PARAMETER name:d index:4 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=4 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:get visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, a:kotlin.Int, b:kotlin.Int, c:kotlin.Int, d:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun get (i: kotlin.Int, a: kotlin.Int, b: kotlin.Int, c: kotlin.Int, d: kotlin.Int): kotlin.Int declared in ' CONST Int type=kotlin.Int value=0 - FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:j index:1 type:kotlin.Int flags:[] + FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:j index:1 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - VALUE_PARAMETER name:v index:2 type:kotlin.Int flags:[] + VALUE_PARAMETER name:v index:2 type:kotlin.Int BLOCK_BODY - FUN name:testSimpleAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:.A flags:[] + FUN name:testSimpleAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A BLOCK_BODY - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' type=.A origin=null + CALL 'public final fun set (i: kotlin.Int, j: kotlin.Int, v: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ + $receiver: GET_VAR 'a: .A declared in .testSimpleAssignment' type=.A origin=null i: CONST Int type=kotlin.Int value=1 v: CONST Int type=kotlin.Int value=0 - FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:.A flags:[] + FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun testPostfixIncrement (a: .A): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' type=.A origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A [val] + GET_VAR 'a: .A declared in .testPostfixIncrement' type=.A origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=1 - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val] - CALL 'FUN name:get visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, a:kotlin.Int, b:kotlin.Int, c:kotlin.Int, d:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null - i: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null - i: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - v: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUN name:testCompoundAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:.A flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int [val] + CALL 'public final fun get (i: kotlin.Int, a: kotlin.Int, b: kotlin.Int, c: kotlin.Int, d: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testPostfixIncrement' type=.A origin=null + i: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + CALL 'public final fun set (i: kotlin.Int, j: kotlin.Int, v: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testPostfixIncrement' type=.A origin=null + i: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + v: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp2: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + GET_VAR 'val tmp2: kotlin.Int [val] declared in .testPostfixIncrement' type=kotlin.Int origin=null + FUN name:testCompoundAssignment visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' type=.A origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A [val] + GET_VAR 'a: .A declared in .testCompoundAssignment' type=.A origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=1 - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, j:kotlin.Int, v:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null - i: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - v: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN name:get visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int, a:kotlin.Int, b:kotlin.Int, c:kotlin.Int, d:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:.A flags:[val]' type=.A origin=null - i: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + CALL 'public final fun set (i: kotlin.Int, j: kotlin.Int, v: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testCompoundAssignment' type=.A origin=null + i: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testCompoundAssignment' type=kotlin.Int origin=null + v: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public final fun get (i: kotlin.Int, a: kotlin.Int, b: kotlin.Int, c: kotlin.Int, d: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ + $receiver: GET_VAR 'val tmp0_array: .A [val] declared in .testCompoundAssignment' type=.A origin=null + i: GET_VAR 'val tmp1_index0: kotlin.Int [val] declared in .testCompoundAssignment' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=10 diff --git a/compiler/testData/ir/irText/expressions/kt30020.txt b/compiler/testData/ir/irText/expressions/kt30020.txt index f849519e0d9..f56bbd4e928 100644 --- a/compiler/testData/ir/irText/expressions/kt30020.txt +++ b/compiler/testData/ir/irText/expressions/kt30020.txt @@ -1,273 +1,273 @@ FILE fqName: fileName:/kt30020.kt - CLASS INTERFACE name:X modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X flags:[] - PROPERTY name:xs visibility:public modality:ABSTRACT flags:[val] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[] - correspondingProperty: PROPERTY name:xs visibility:public modality:ABSTRACT flags:[val] - $this: VALUE_PARAMETER name: type:.X flags:[] - FUN name:f visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[] - $this: VALUE_PARAMETER name: type:.X flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:X modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X + PROPERTY name:xs visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList + correspondingProperty: PROPERTY name:xs visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.X + FUN name:f visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.X + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> (x:.X, nx:.X?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:.X flags:[] - VALUE_PARAMETER name:nx index:1 type:.X? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (x:.X, nx:.X?) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:.X + VALUE_PARAMETER name:nx index:1 type:.X? BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.X flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.X flags:[]' type=.X origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.X [val] + GET_VAR 'x: .X declared in .test' type=.X origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int - $receiver: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[]' type=kotlin.collections.MutableList origin=PLUSEQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.X flags:[val]' type=.X origin=null + $receiver: CALL 'public abstract fun (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=PLUSEQ + $this: GET_VAR 'val tmp0_this: .X [val] declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=1 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int - $receiver: CALL 'FUN name:f visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[]' type=kotlin.collections.MutableList origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.X flags:[]' type=.X origin=null + $receiver: CALL 'public abstract fun f (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'x: .X declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=2 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int $receiver: TYPE_OP type=kotlin.collections.MutableList origin=CAST typeOperand=kotlin.collections.MutableList - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableList modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.collections.List; kotlin.collections.MutableCollection] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[]' type=kotlin.collections.MutableList origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.X flags:[]' type=.X origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableList modality:ABSTRACT visibility:public superTypes:[kotlin.collections.List; kotlin.collections.MutableCollection] + CALL 'public abstract fun (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=GET_PROPERTY + $this: GET_VAR 'x: .X declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=3 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int $receiver: TYPE_OP type=kotlin.collections.MutableList origin=CAST typeOperand=kotlin.collections.MutableList - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableList modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.collections.List; kotlin.collections.MutableCollection] - CALL 'FUN name:f visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[]' type=kotlin.collections.MutableList origin=null - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.X flags:[]' type=.X origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableList modality:ABSTRACT visibility:public superTypes:[kotlin.collections.List; kotlin.collections.MutableCollection] + CALL 'public abstract fun f (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'x: .X declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=4 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int $receiver: BLOCK type=kotlin.collections.MutableList origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp2_notnull type:kotlin.collections.MutableList? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp2_notnull type:kotlin.collections.MutableList? [val] BLOCK type=kotlin.collections.MutableList? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.X? flags:[val] - GET_VAR 'VALUE_PARAMETER name:nx index:1 type:.X? flags:[]' type=.X? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.X? [val] + GET_VAR 'nx: .X? declared in .test' type=.X? origin=null WHEN type=kotlin.collections.MutableList? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.X? flags:[val]' type=.X? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_safe_receiver: .X? [val] declared in .test' type=.X? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[]' type=kotlin.collections.MutableList origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.X? flags:[val]' type=.X? origin=null + then: CALL 'public abstract fun (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=GET_PROPERTY + $this: GET_VAR 'val tmp1_safe_receiver: .X? [val] declared in .test' type=.X? origin=null WHEN type=kotlin.collections.MutableList origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_notnull type:kotlin.collections.MutableList? flags:[val]' type=kotlin.collections.MutableList? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp2_notnull: kotlin.collections.MutableList? [val] declared in .test' type=kotlin.collections.MutableList? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'public final fun THROW_NPE (): kotlin.Nothing declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_notnull type:kotlin.collections.MutableList? flags:[val]' type=kotlin.collections.MutableList? origin=null + then: GET_VAR 'val tmp2_notnull: kotlin.collections.MutableList? [val] declared in .test' type=kotlin.collections.MutableList? origin=null element: CONST Int type=kotlin.Int value=5 - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int $receiver: BLOCK type=kotlin.collections.MutableList origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp4_notnull type:kotlin.collections.MutableList? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp4_notnull type:kotlin.collections.MutableList? [val] BLOCK type=kotlin.collections.MutableList? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.X? flags:[val] - GET_VAR 'VALUE_PARAMETER name:nx index:1 type:.X? flags:[]' type=.X? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.X? [val] + GET_VAR 'nx: .X? declared in .test' type=.X? origin=null WHEN type=kotlin.collections.MutableList? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.X? flags:[val]' type=.X? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp3_safe_receiver: .X? [val] declared in .test' type=.X? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:f visibility:public modality:ABSTRACT <> ($this:.X) returnType:kotlin.collections.MutableList flags:[]' type=kotlin.collections.MutableList origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.X? flags:[val]' type=.X? origin=null + then: CALL 'public abstract fun f (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'val tmp3_safe_receiver: .X? [val] declared in .test' type=.X? origin=null WHEN type=kotlin.collections.MutableList origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_notnull type:kotlin.collections.MutableList? flags:[val]' type=kotlin.collections.MutableList? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp4_notnull: kotlin.collections.MutableList? [val] declared in .test' type=kotlin.collections.MutableList? origin=null arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'public final fun THROW_NPE (): kotlin.Nothing declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_notnull type:kotlin.collections.MutableList? flags:[val]' type=kotlin.collections.MutableList? origin=null + then: GET_VAR 'val tmp4_notnull: kotlin.collections.MutableList? [val] declared in .test' type=kotlin.collections.MutableList? origin=null element: CONST Int type=kotlin.Int value=6 - FUN name:testExtensionReceiver visibility:public modality:FINAL <> ($receiver:kotlin.collections.MutableList) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] + FUN name:testExtensionReceiver visibility:public modality:FINAL <> ($receiver:kotlin.collections.MutableList) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:kotlin.collections.MutableList BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[]' type=kotlin.collections.MutableList origin=PLUSEQ + $receiver: GET_VAR ': kotlin.collections.MutableList declared in .testExtensionReceiver' type=kotlin.collections.MutableList origin=PLUSEQ element: CONST Int type=kotlin.Int value=100 - CLASS CLASS name:AML modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.collections.MutableList] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AML flags:[] - CONSTRUCTOR visibility:public <> () returnType:.AML flags:[primary] + CLASS CLASS name:AML modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AML + CONSTRUCTOR visibility:public <> () returnType:.AML [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:AML modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.collections.MutableList]' - FUN name:testExplicitThis visibility:public modality:FINAL <> ($this:.AML) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.AML flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:AML modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableList]' + FUN name:testExplicitThis visibility:public modality:FINAL <> ($this:.AML) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.AML BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int - $receiver: GET_VAR 'VALUE_PARAMETER name: type:.AML flags:[]' type=.AML origin=PLUSEQ + $receiver: GET_VAR ': .AML declared in .AML.testExplicitThis' type=.AML origin=PLUSEQ element: CONST Int type=kotlin.Int value=200 - CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AML.Inner flags:[] - CONSTRUCTOR visibility:public <> ($this:.AML) returnType:.AML.Inner flags:[primary] - $outer: VALUE_PARAMETER name: type:.AML flags:[] + CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AML.Inner + CONSTRUCTOR visibility:public <> ($this:.AML) returnType:.AML.Inner [primary] + $outer: VALUE_PARAMETER name: type:.AML BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN name:testOuterThis visibility:public modality:FINAL <> ($this:.AML.Inner) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.AML.Inner flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + FUN name:testOuterThis visibility:public modality:FINAL <> ($this:.AML.Inner) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.AML.Inner BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plusAssign visibility:public modality:FINAL ($receiver:kotlin.collections.MutableCollection, element:kotlin.collections.plusAssign.T) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=PLUSEQ + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ : kotlin.Int - $receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AML flags:[]' type=.AML origin=PLUSEQ + $receiver: GET_VAR ': .AML declared in .AML' type=.AML origin=PLUSEQ element: CONST Int type=kotlin.Int value=300 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.collections.MutableList.E) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:element index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.Int) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:E of kotlin.collections.MutableList) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.Int) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.collections.MutableList.E) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:element index:1 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:E of kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection flags:[] - FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:kotlin.collections.Collection) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection flags:[] - FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:kotlin.collections.Collection) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.collections.MutableList.E) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.List flags:[] - VALUE_PARAMETER name:element index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:E of kotlin.collections.MutableList) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, elements:kotlin.collections.Collection) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.List flags:[] - VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection flags:[] - FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, elements:kotlin.collections.Collection) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType:kotlin.collections.MutableList.E flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.List flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType:E of kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.collections.MutableList.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.List flags:[] - VALUE_PARAMETER name:element index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:E of kotlin.collections.MutableList) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.List flags:[] - FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator flags:[] + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator overridden: - FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection flags:[] - FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.collections.MutableList.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.List flags:[] - VALUE_PARAMETER name:element index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.collections.MutableListIterator flags:[] + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:E of kotlin.collections.MutableList) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.collections.MutableListIterator overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.collections.MutableListIterator flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.collections.MutableListIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.collections.MutableList.E) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:element index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:E of kotlin.collections.MutableList) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection flags:[] - FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.collections.MutableList.E flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:E of kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection flags:[] - FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.Int) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.Int) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.collections.MutableList.E) returnType:kotlin.collections.MutableList.E flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:element index:1 type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:E of kotlin.collections.MutableList) returnType:E of kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:subList visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] - VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int flags:[] - PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:subList visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [val] + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.collections.List flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.collections.List + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/lambdaInCAO.txt b/compiler/testData/ir/irText/expressions/lambdaInCAO.txt index 0e5e1e8bf52..c66d68fdab7 100644 --- a/compiler/testData/ir/irText/expressions/lambdaInCAO.txt +++ b/compiler/testData/ir/irText/expressions/lambdaInCAO.txt @@ -1,73 +1,73 @@ FILE fqName: fileName:/lambdaInCAO.kt - FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:kotlin.Any, lambda:kotlin.Function0) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0 flags:[] + FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:kotlin.Any, lambda:kotlin.Function0) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0 BLOCK_BODY - FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Function0 flags:[] + FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:index index:0 type:kotlin.Function0 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun get (index: kotlin.Function0): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0, value:kotlin.Int) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Function0 flags:[] - VALUE_PARAMETER name:value index:1 type:kotlin.Int flags:[] + FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0, value:kotlin.Int) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:index index:0 type:kotlin.Function0 + VALUE_PARAMETER name:value index:1 type:kotlin.Int BLOCK_BODY - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY - CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:kotlin.Any, lambda:kotlin.Function0) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=PLUSEQ + CALL 'public final fun plusAssign (lambda: kotlin.Function0): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ + $receiver: GET_VAR 'a: kotlin.Any declared in .test1' type=kotlin.Any origin=PLUSEQ lambda: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test1' type=kotlin.Function0 origin=LAMBDA + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any [val] + GET_VAR 'a: kotlin.Any declared in .test2' type=kotlin.Any origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 [val] BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 flags:[val]' type=kotlin.Function0 origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $this: CALL 'FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUSEQ - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 flags:[val]' type=kotlin.Function0 origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test2' type=kotlin.Function0 origin=LAMBDA + CALL 'public final fun set (index: kotlin.Function0, value: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ + $receiver: GET_VAR 'val tmp0_array: kotlin.Any [val] declared in .test2' type=kotlin.Any origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Function0 [val] declared in .test2' type=kotlin.Function0 origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ + $this: CALL 'public final fun get (index: kotlin.Function0): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ + $receiver: GET_VAR 'val tmp0_array: kotlin.Any [val] declared in .test2' type=kotlin.Any origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Function0 [val] declared in .test2' type=kotlin.Function0 origin=null other: CONST Int type=kotlin.Int value=42 - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:[val] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any [val] + GET_VAR 'a: kotlin.Any declared in .test3' type=kotlin.Any origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 [val] BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val] - CALL 'FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 flags:[val]' type=kotlin.Function0 origin=null - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 flags:[val]' type=kotlin.Function0 origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test3' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test3' type=kotlin.Function0 origin=LAMBDA + VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int [val] + CALL 'public final fun get (index: kotlin.Function0): kotlin.Int declared in ' type=kotlin.Int origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp0_array: kotlin.Any [val] declared in .test3' type=kotlin.Any origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Function0 [val] declared in .test3' type=kotlin.Function0 origin=null + CALL 'public final fun set (index: kotlin.Function0, value: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp0_array: kotlin.Any [val] declared in .test3' type=kotlin.Any origin=null + index: GET_VAR 'val tmp1_index0: kotlin.Function0 [val] declared in .test3' type=kotlin.Function0 origin=null + value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp2: kotlin.Int [val] declared in .test3' type=kotlin.Int origin=null + GET_VAR 'val tmp2: kotlin.Int [val] declared in .test3' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/literals.txt b/compiler/testData/ir/irText/expressions/literals.txt index 04f978da7b1..b659294b92c 100644 --- a/compiler/testData/ir/irText/expressions/literals.txt +++ b/compiler/testData/ir/irText/expressions/literals.txt @@ -1,154 +1,154 @@ FILE fqName: fileName:/literals.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=-1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Boolean visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Boolean visibility:public [final,static] EXPRESSION_BODY CONST Boolean type=kotlin.Boolean value=true - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Boolean visibility:public flags:[final,static]' type=kotlin.Boolean origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Boolean visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Boolean visibility:public [final,static] ' type=kotlin.Boolean origin=null + PROPERTY name:test4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Boolean visibility:public [final,static] EXPRESSION_BODY CONST Boolean type=kotlin.Boolean value=false - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Boolean visibility:public flags:[final,static]' type=kotlin.Boolean origin=null - PROPERTY name:test5 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Boolean visibility:public [final,static] ' type=kotlin.Boolean origin=null + PROPERTY name:test5 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="abc" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Nothing? visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test6 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Nothing? visibility:public [final,static] EXPRESSION_BODY CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Nothing? flags:[] - correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Nothing? + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Nothing? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Nothing? visibility:public flags:[final,static]' type=kotlin.Nothing? origin=null - PROPERTY name:test7 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.Long visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Nothing? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Nothing? visibility:public [final,static] ' type=kotlin.Nothing? origin=null + PROPERTY name:test7 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.Long visibility:public [final,static] EXPRESSION_BODY CONST Long type=kotlin.Long value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[] - correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long + correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.Long visibility:public flags:[final,static]' type=kotlin.Long origin=null - PROPERTY name:test8 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Long visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Long declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null + PROPERTY name:test8 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Long visibility:public [final,static] EXPRESSION_BODY CONST Long type=kotlin.Long value=-1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[] - correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Long visibility:public flags:[final,static]' type=kotlin.Long origin=null - PROPERTY name:test9 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Double visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Long declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null + PROPERTY name:test9 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Double visibility:public [final,static] EXPRESSION_BODY CONST Double type=kotlin.Double value=1.0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Double flags:[] - correspondingProperty: PROPERTY name:test9 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Double + correspondingProperty: PROPERTY name:test9 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Double flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Double visibility:public flags:[final,static]' type=kotlin.Double origin=null - PROPERTY name:test10 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Double visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Double declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Double visibility:public [final,static] ' type=kotlin.Double origin=null + PROPERTY name:test10 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Double visibility:public [final,static] EXPRESSION_BODY CONST Double type=kotlin.Double value=-1.0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Double flags:[] - correspondingProperty: PROPERTY name:test10 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Double + correspondingProperty: PROPERTY name:test10 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Double flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Double visibility:public flags:[final,static]' type=kotlin.Double origin=null - PROPERTY name:test11 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Float visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Double declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Double visibility:public [final,static] ' type=kotlin.Double origin=null + PROPERTY name:test11 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Float visibility:public [final,static] EXPRESSION_BODY CONST Float type=kotlin.Float value=1.0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Float flags:[] - correspondingProperty: PROPERTY name:test11 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Float + correspondingProperty: PROPERTY name:test11 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Float flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Float visibility:public flags:[final,static]' type=kotlin.Float origin=null - PROPERTY name:test12 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Float visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Float declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Float visibility:public [final,static] ' type=kotlin.Float origin=null + PROPERTY name:test12 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Float visibility:public [final,static] EXPRESSION_BODY CONST Float type=kotlin.Float value=-1.0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Float flags:[] - correspondingProperty: PROPERTY name:test12 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Float + correspondingProperty: PROPERTY name:test12 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Float flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Float visibility:public flags:[final,static]' type=kotlin.Float origin=null - PROPERTY name:test13 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Char visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Float declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Float visibility:public [final,static] ' type=kotlin.Float origin=null + PROPERTY name:test13 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Char visibility:public [final,static] EXPRESSION_BODY CONST Char type=kotlin.Char value='a' - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Char flags:[] - correspondingProperty: PROPERTY name:test13 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Char + correspondingProperty: PROPERTY name:test13 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Char flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Char visibility:public flags:[final,static]' type=kotlin.Char origin=null - PROPERTY name:testB visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testB type:kotlin.Byte visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Char visibility:public [final,static] ' type=kotlin.Char origin=null + PROPERTY name:testB visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testB type:kotlin.Byte visibility:public [final,static] EXPRESSION_BODY CONST Byte type=kotlin.Byte value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte flags:[] - correspondingProperty: PROPERTY name:testB visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte + correspondingProperty: PROPERTY name:testB visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testB type:kotlin.Byte visibility:public flags:[final,static]' type=kotlin.Byte origin=null - PROPERTY name:testS visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testS type:kotlin.Short visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Byte declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testB type:kotlin.Byte visibility:public [final,static] ' type=kotlin.Byte origin=null + PROPERTY name:testS visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testS type:kotlin.Short visibility:public [final,static] EXPRESSION_BODY CONST Short type=kotlin.Short value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short flags:[] - correspondingProperty: PROPERTY name:testS visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short + correspondingProperty: PROPERTY name:testS visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testS type:kotlin.Short visibility:public flags:[final,static]' type=kotlin.Short origin=null - PROPERTY name:testI visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testI type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Short declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testS type:kotlin.Short visibility:public [final,static] ' type=kotlin.Short origin=null + PROPERTY name:testI visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testI type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:testI visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:testI visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testI type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:testL visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testL type:kotlin.Long visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testI type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:testL visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testL type:kotlin.Long visibility:public [final,static] EXPRESSION_BODY CONST Long type=kotlin.Long value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[] - correspondingProperty: PROPERTY name:testL visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long + correspondingProperty: PROPERTY name:testL visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testL type:kotlin.Long visibility:public flags:[final,static]' type=kotlin.Long origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Long declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testL type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null diff --git a/compiler/testData/ir/irText/expressions/memberTypeArguments.txt b/compiler/testData/ir/irText/expressions/memberTypeArguments.txt index 0f9a55bc6db..d77296f822f 100644 --- a/compiler/testData/ir/irText/expressions/memberTypeArguments.txt +++ b/compiler/testData/ir/irText/expressions/memberTypeArguments.txt @@ -1,41 +1,41 @@ FILE fqName: fileName:/memberTypeArguments.kt - CLASS CLASS name:GenericClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericClass<.GenericClass.T> flags:[] + CLASS CLASS name:GenericClass modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericClass.GenericClass> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:.GenericClass.T) returnType:.GenericClass<.GenericClass.T> flags:[primary] - VALUE_PARAMETER name:value index:0 type:.GenericClass.T flags:[] + CONSTRUCTOR visibility:public <> (value:T of .GenericClass) returnType:.GenericClass.GenericClass> [primary] + VALUE_PARAMETER name:value index:0 type:T of .GenericClass BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:GenericClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:.GenericClass.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:GenericClass modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .GenericClass visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:.GenericClass.T flags:[]' type=.GenericClass.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.GenericClass<.GenericClass.T>) returnType:.GenericClass.T flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.GenericClass<.GenericClass.T> flags:[] + GET_VAR 'value: T of .GenericClass declared in .GenericClass.' type=T of .GenericClass origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.GenericClass.GenericClass>) returnType:T of .GenericClass + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.GenericClass.GenericClass> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.GenericClass<.GenericClass.T>) returnType:.GenericClass.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:.GenericClass.T visibility:public flags:[final]' type=.GenericClass.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.GenericClass<.GenericClass.T> flags:[]' type=.GenericClass<.GenericClass.T> origin=null - FUN name:withNewValue visibility:public modality:FINAL <> ($this:.GenericClass<.GenericClass.T>, newValue:.GenericClass.T) returnType:.GenericClass<.GenericClass.T> flags:[] - $this: VALUE_PARAMETER name: type:.GenericClass<.GenericClass.T> flags:[] - VALUE_PARAMETER name:newValue index:0 type:.GenericClass.T flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .GenericClass declared in .GenericClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .GenericClass visibility:public [final] ' type=T of .GenericClass origin=null + receiver: GET_VAR ': .GenericClass.GenericClass> declared in .GenericClass.' type=.GenericClass.GenericClass> origin=null + FUN name:withNewValue visibility:public modality:FINAL <> ($this:.GenericClass.GenericClass>, newValue:T of .GenericClass) returnType:.GenericClass.GenericClass> + $this: VALUE_PARAMETER name: type:.GenericClass.GenericClass> + VALUE_PARAMETER name:newValue index:0 type:T of .GenericClass BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:withNewValue visibility:public modality:FINAL <> ($this:.GenericClass<.GenericClass.T>, newValue:.GenericClass.T) returnType:.GenericClass<.GenericClass.T> flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (value:.GenericClass.T) returnType:.GenericClass<.GenericClass.T> flags:[primary]' type=.GenericClass<.GenericClass.T> origin=null - : .GenericClass.T - value: GET_VAR 'VALUE_PARAMETER name:newValue index:0 type:.GenericClass.T flags:[]' type=.GenericClass.T origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun withNewValue (newValue: T of .GenericClass): .GenericClass.GenericClass> declared in .GenericClass' + CALL 'public constructor (value: T of .GenericClass) [primary] declared in .GenericClass' type=.GenericClass.GenericClass> origin=null + : T of .GenericClass + value: GET_VAR 'newValue: T of .GenericClass declared in .GenericClass.withNewValue' type=T of .GenericClass origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt b/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt index a79fa4ee248..c4071c99b1f 100644 --- a/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt @@ -1,92 +1,92 @@ FILE fqName: fileName:/membersImportedFromObject.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Int declared in .A' CONST Int type=kotlin.Int value=1 - FUN name:fooExt visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + FUN name:fooExt visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:fooExt visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun fooExt (): kotlin.Int declared in .A' CONST Int type=kotlin.Int value=2 - PROPERTY name:bar visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[final] + PROPERTY name:bar visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - PROPERTY name:barExt visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:barExt visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:barExt visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int + correspondingProperty: PROPERTY name:barExt visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' CONST Int type=kotlin.Int value=43 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + CALL 'public final fun foo (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN name:fooExt visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A + CALL 'public final fun fooExt (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A $receiver: CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A $receiver: CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/multipleThisReferences.txt b/compiler/testData/ir/irText/expressions/multipleThisReferences.txt index 198d29b08b0..5a7239398c4 100644 --- a/compiler/testData/ir/irText/expressions/multipleThisReferences.txt +++ b/compiler/testData/ir/irText/expressions/multipleThisReferences.txt @@ -1,135 +1,135 @@ FILE fqName: fileName:/multipleThisReferences.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer + CONSTRUCTOR visibility:public <> () returnType:.Outer [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS CLASS name:Inner modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer, x:kotlin.Int) returnType:.Outer.Inner flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner + CONSTRUCTOR visibility:public <> ($this:.Outer, x:kotlin.Int) returnType:.Outer.Inner [primary] + $outer: VALUE_PARAMETER name: type:.Outer + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Outer.Inner flags:[] + GET_VAR 'x: kotlin.Int declared in .Outer.Inner.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Outer.Inner BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Outer.Inner flags:[]' type=.Outer.Inner origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Outer.Inner' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Outer.Inner declared in .Outer.Inner.' type=.Outer.Inner origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> (y:kotlin.Int) returnType:.Host flags:[primary] - VALUE_PARAMETER name:y index:0 type:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> (y:kotlin.Int) returnType:.Host [primary] + VALUE_PARAMETER name:y index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host flags:[] + GET_VAR 'y: kotlin.Int declared in .Host.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - FUN name:test visibility:public modality:FINAL <> ($this:.Host, $receiver:.Outer) returnType:.Outer.Inner flags:[] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:.Outer flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Host declared in .Host.' type=.Host origin=null + FUN name:test visibility:public modality:FINAL <> ($this:.Host, $receiver:.Outer) returnType:.Outer.Inner + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> ($this:.Host, $receiver:.Outer) returnType:.Outer.Inner flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (): .Outer.Inner declared in .Host' BLOCK type=.Host.test. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.test. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host.test. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.test. + CONSTRUCTOR visibility:public <> () returnType:.Host.test. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer, x:kotlin.Int) returnType:.Outer.Inner flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: kotlin.Int) [primary] declared in .Outer.Inner' + $this: GET_VAR ': .Outer declared in .Host.test' type=.Outer origin=null x: CONST Int type=kotlin.Int value=42 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner]' - PROPERTY name:xx visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner]' + PROPERTY name:xx visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public [final] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.test. flags:[]' type=.Host.test. origin=null - other: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Host flags:[]' type=.Host origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host.test.) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Host.test. flags:[] + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: CALL 'public final fun (): kotlin.Int declared in .Host.test.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Host.test. declared in .Host.test.' type=.Host.test. origin=null + other: CALL 'public final fun (): kotlin.Int declared in .Host' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Host declared in .Host.test' type=.Host origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host.test.) returnType:kotlin.Int + correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Host.test. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Host.test.) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Host.test. flags:[]' type=.Host.test. origin=null - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Host.test.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Host.test. declared in .Host.test..' type=.Host.test. origin=null + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Outer.Inner flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Outer.Inner + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Host.test. flags:[primary]' type=.Host.test. origin=OBJECT_LITERAL - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .Host.test.' type=.Host.test. origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/objectAsCallable.txt b/compiler/testData/ir/irText/expressions/objectAsCallable.txt index cf62130e53f..0b6d3f0b690 100644 --- a/compiler/testData/ir/irText/expressions/objectAsCallable.txt +++ b/compiler/testData/ir/irText/expressions/objectAsCallable.txt @@ -1,110 +1,110 @@ FILE fqName: fileName:/objectAsCallable.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.En flags:[] - CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<.En>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.En + CONSTRUCTOR visibility:private <> () returnType:.En [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .En - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<.En>]' ENUM_ENTRY name:X - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Any flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .En' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:java.lang.Class<.En?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:java.lang.Class<.En?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:.En) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:.En) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - VALUE_PARAMETER name:other index:0 type:.En flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + VALUE_PARAMETER name:other index:0 type:.En + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.En>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.En>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - FUN name:invoke visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + FUN name:invoke visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:invoke visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int) returnType:kotlin.Int flags:[]' - GET_VAR 'VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:invoke visibility:public modality:FINAL <> ($receiver:.En, i:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.En flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun invoke (i: kotlin.Int): kotlin.Int declared in ' + GET_VAR 'i: kotlin.Int declared in .invoke' type=kotlin.Int origin=null + FUN name:invoke visibility:public modality:FINAL <> ($receiver:.En, i:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.En + VALUE_PARAMETER name:i index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:invoke visibility:public modality:FINAL <> ($receiver:.En, i:kotlin.Int) returnType:kotlin.Int flags:[]' - GET_VAR 'VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun invoke (i: kotlin.Int): kotlin.Int declared in ' + GET_VAR 'i: kotlin.Int declared in .invoke' type=kotlin.Int origin=null + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN name:invoke visibility:public modality:FINAL <> ($receiver:.A, i:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=INVOKE - $receiver: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A + CALL 'public final fun invoke (i: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=INVOKE + $receiver: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A i: CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN name:invoke visibility:public modality:FINAL <> ($receiver:.En, i:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=INVOKE + CALL 'public final fun invoke (i: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=INVOKE $receiver: GET_ENUM 'ENUM_ENTRY name:X' type=.En i: CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/objectClassReference.txt b/compiler/testData/ir/irText/expressions/objectClassReference.txt index 09ad467f1f0..aebfda6fdcf 100644 --- a/compiler/testData/ir/irText/expressions/objectClassReference.txt +++ b/compiler/testData/ir/irText/expressions/objectClassReference.txt @@ -1,30 +1,30 @@ FILE fqName: fileName:/objectClassReference.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CLASS_REFERENCE 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CLASS_REFERENCE 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL ($receiver:kotlin.reflect.KClass.T>) returnType:java.lang.Class.T> flags:[]' type=java.lang.Class<.A> origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public final fun (): java.lang.Class> declared in kotlin.jvm' type=java.lang.Class<.A> origin=GET_PROPERTY <`0>: .A - $receiver: CLASS_REFERENCE 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> + $receiver: CLASS_REFERENCE 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> diff --git a/compiler/testData/ir/irText/expressions/objectReference.txt b/compiler/testData/ir/irText/expressions/objectReference.txt index c721c708d4e..c7484dc0130 100644 --- a/compiler/testData/ir/irText/expressions/objectReference.txt +++ b/compiler/testData/ir/irText/expressions/objectReference.txt @@ -1,193 +1,193 @@ FILE fqName: fileName:/objectReference.kt - CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Z flags:[primary] + CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z + CONSTRUCTOR visibility:private <> () returnType:.Z [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:counter visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:counter visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Z flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Int + correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Z flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Z' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Z declared in .Z.' type=.Z origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Z + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Z declared in .Z.' type=.Z origin=null + value: GET_VAR ': kotlin.Int declared in .Z.' type=kotlin.Int origin=null + FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY - FUN name:bar visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z flags:[] + FUN name:bar visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .Z declared in .Z.bar' type=.Z origin=null : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_VAR ': .Z declared in .Z.bar' type=.Z origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - CLASS CLASS name:Nested modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.Nested flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Z.Nested flags:[primary] + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + CLASS CLASS name:Nested modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.Nested + CONSTRUCTOR visibility:public <> () returnType:.Z.Nested [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Nested modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Nested modality:FINAL visibility:public superTypes:[kotlin.Any]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - FUN name:test visibility:public modality:FINAL <> ($this:.Z.Nested) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z.Nested flags:[] + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + FUN name:test visibility:public modality:FINAL <> ($this:.Z.Nested) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z.Nested BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:aLambda visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public flags:[final] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:aLambda visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:aLambda visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Z flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .Z.aLambda' + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .Z.aLambda' type=kotlin.Function0 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:aLambda visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public flags:[final]' type=kotlin.Function0 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null - PROPERTY name:anObject visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in .Z' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] ' type=kotlin.Function0 origin=null + receiver: GET_VAR ': .Z declared in .Z.' type=.Z origin=null + PROPERTY name:anObject visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public [final] EXPRESSION_BODY BLOCK type=.Z.anObject. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.anObject. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Z.anObject. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.anObject. + CONSTRUCTOR visibility:public <> () returnType:.Z.anObject. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.Any]' ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - FUN name:test visibility:public modality:FINAL <> ($this:.Z.anObject.) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z.anObject. flags:[] + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + FUN name:test visibility:public modality:FINAL <> ($this:.Z.anObject.) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z.anObject. BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.Z.anObject. flags:[primary]' type=.Z.anObject. origin=OBJECT_LITERAL - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Any flags:[] - correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Z flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .Z.anObject.' type=.Z.anObject. origin=OBJECT_LITERAL + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Any + correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Any flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public flags:[final]' type=kotlin.Any origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .Z' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:kotlin.Any visibility:public [final] ' type=kotlin.Any origin=null + receiver: GET_VAR ': .Z declared in .Z.' type=.Z origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> ($receiver:.Z) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.Z flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($receiver:.Z) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.Z BLOCK_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .Z declared in .test' type=.Z origin=null : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Z, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_VAR ': .Z declared in .test' type=.Z origin=null + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z : CONST Int type=kotlin.Int value=1 - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z + CALL 'public final fun foo (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt index f7934ef7ed6..658f4c03cc0 100644 --- a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt +++ b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt @@ -1,66 +1,66 @@ FILE fqName: fileName:/objectReferenceInClosureInSuperConstructorCall.kt - CLASS CLASS name:Base modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] - CONSTRUCTOR visibility:public <> (lambda:kotlin.Function0) returnType:.Base flags:[primary] - VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0 flags:[] + CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base + CONSTRUCTOR visibility:public <> (lambda:kotlin.Function0) returnType:.Base [primary] + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:lambda visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + PROPERTY name:lambda visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:lambda visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Base flags:[] + GET_VAR 'lambda: kotlin.Function0 declared in .Base.' type=kotlin.Function0 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:lambda visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Base BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:public flags:[final]' type=kotlin.Function0 origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Base flags:[]' type=.Base origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:public [final] ' type=kotlin.Function0 origin=null + receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Test flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + CONSTRUCTOR visibility:private <> () returnType:.Test [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (lambda:kotlin.Function0) returnType:.Base flags:[primary]' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (lambda: kotlin.Function0) [primary] declared in .Base' lambda: BLOCK type=kotlin.Function0<.Test> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Test flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Test flags:[]' - GET_OBJECT 'CLASS OBJECT name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base]' type=.Test - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Test flags:[]' type=kotlin.Function0<.Test> origin=LAMBDA - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Test modality:FINAL visibility:public flags:[] superTypes:[.Base]' - PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL flags:[val] - FIELD FAKE_OVERRIDE name:lambda type:kotlin.Function0 visibility:public flags:[final] + RETURN type=kotlin.Nothing from='local final fun (): .Test declared in .Test.' + GET_OBJECT 'CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base]' type=.Test + FUNCTION_REFERENCE 'local final fun (): .Test declared in .Test.' type=kotlin.Function0<.Test> origin=LAMBDA + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Test modality:FINAL visibility:public superTypes:[.Base]' + PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL [val] + FIELD FAKE_OVERRIDE name:lambda type:kotlin.Function0 visibility:public [final] overridden: - FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:public flags:[final] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL flags:[val] + FIELD PROPERTY_BACKING_FIELD name:lambda type:kotlin.Function0 visibility:public [final] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 + correspondingProperty: PROPERTY FAKE_OVERRIDE name:lambda visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 flags:[] - $this: VALUE_PARAMETER name: type:.Base flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:kotlin.Function0 + $this: VALUE_PARAMETER name: type:.Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInFieldInitializer.txt b/compiler/testData/ir/irText/expressions/objectReferenceInFieldInitializer.txt index 3ecc853de28..e6844248680 100644 --- a/compiler/testData/ir/irText/expressions/objectReferenceInFieldInitializer.txt +++ b/compiler/testData/ir/irText/expressions/objectReferenceInFieldInitializer.txt @@ -1,56 +1,56 @@ FILE fqName: fileName:/objectReferenceInFieldInitializer.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:a visibility:private modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:a visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private [final] EXPRESSION_BODY CONST String type=kotlin.String value="$" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:a visibility:private modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - PROPERTY name:b visibility:private modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private flags:[final] + RETURN type=kotlin.Nothing from='private final fun (): kotlin.String declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:b visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="1234" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[]' type=.A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:b visibility:private modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + CALL 'private final fun (): kotlin.String declared in .A' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private flags:[final]' type=kotlin.String origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - PROPERTY name:c visibility:private modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private flags:[final] + RETURN type=kotlin.Nothing from='private final fun (): kotlin.String declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final] ' type=kotlin.String origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:c visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private [final] EXPRESSION_BODY CONST Int type=kotlin.Int value=10000 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:c visibility:private modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt b/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt index 559504dc10e..c2189032c27 100644 --- a/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt +++ b/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt @@ -1,49 +1,49 @@ FILE fqName: fileName:/outerClassInstanceReference.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer + CONSTRUCTOR visibility:public <> () returnType:.Outer [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:outer visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:outer visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer flags:[] + CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner + CONSTRUCTOR visibility:public <> ($this:.Outer) returnType:.Outer.Inner [primary] + $outer: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN name:inner visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Outer.Inner flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + FUN name:inner visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Outer.Inner BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:inner visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:outer visibility:public modality:FINAL <> ($this:.Outer) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[]' type=.Outer origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun inner (): kotlin.Unit declared in .Outer.Inner' + CALL 'public final fun outer (): kotlin.Unit declared in .Outer' type=kotlin.Unit origin=null + $this: GET_VAR ': .Outer declared in .Outer' type=.Outer origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/primitiveComparisons.txt b/compiler/testData/ir/irText/expressions/primitiveComparisons.txt index b08ff4e5e5a..f60a299c251 100644 --- a/compiler/testData/ir/irText/expressions/primitiveComparisons.txt +++ b/compiler/testData/ir/irText/expressions/primitiveComparisons.txt @@ -1,209 +1,209 @@ FILE fqName: fileName:/primitiveComparisons.kt - FUN name:btest1 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[] + FUN name:btest1 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Byte + VALUE_PARAMETER name:b index:1 type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:btest1 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - FUN name:btest2 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[] + RETURN type=kotlin.Nothing from='public final fun btest1 (a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Byte declared in .btest1' type=kotlin.Byte origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Byte declared in .btest1' type=kotlin.Byte origin=null + FUN name:btest2 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Byte + VALUE_PARAMETER name:b index:1 type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:btest2 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - FUN name:btest3 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[] + RETURN type=kotlin.Nothing from='public final fun btest2 (a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Byte declared in .btest2' type=kotlin.Byte origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Byte declared in .btest2' type=kotlin.Byte origin=null + FUN name:btest3 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Byte + VALUE_PARAMETER name:b index:1 type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:btest3 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - FUN name:btest4 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[] + RETURN type=kotlin.Nothing from='public final fun btest3 (a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Byte declared in .btest3' type=kotlin.Byte origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Byte declared in .btest3' type=kotlin.Byte origin=null + FUN name:btest4 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Byte + VALUE_PARAMETER name:b index:1 type:kotlin.Byte BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:btest4 visibility:public modality:FINAL <> (a:kotlin.Byte, b:kotlin.Byte) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Byte) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[]' type=kotlin.Byte origin=null - FUN name:stest1 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[] + RETURN type=kotlin.Nothing from='public final fun btest4 (a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Byte declared in .btest4' type=kotlin.Byte origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Byte' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Byte declared in .btest4' type=kotlin.Byte origin=null + FUN name:stest1 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Short + VALUE_PARAMETER name:b index:1 type:kotlin.Short BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:stest1 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - FUN name:stest2 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[] + RETURN type=kotlin.Nothing from='public final fun stest1 (a: kotlin.Short, b: kotlin.Short): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Short declared in .stest1' type=kotlin.Short origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Short declared in .stest1' type=kotlin.Short origin=null + FUN name:stest2 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Short + VALUE_PARAMETER name:b index:1 type:kotlin.Short BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:stest2 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - FUN name:stest3 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[] + RETURN type=kotlin.Nothing from='public final fun stest2 (a: kotlin.Short, b: kotlin.Short): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Short declared in .stest2' type=kotlin.Short origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Short declared in .stest2' type=kotlin.Short origin=null + FUN name:stest3 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Short + VALUE_PARAMETER name:b index:1 type:kotlin.Short BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:stest3 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - FUN name:stest4 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[] + RETURN type=kotlin.Nothing from='public final fun stest3 (a: kotlin.Short, b: kotlin.Short): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Short declared in .stest3' type=kotlin.Short origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Short declared in .stest3' type=kotlin.Short origin=null + FUN name:stest4 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Short + VALUE_PARAMETER name:b index:1 type:kotlin.Short BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:stest4 visibility:public modality:FINAL <> (a:kotlin.Short, b:kotlin.Short) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Short) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Short flags:[]' type=kotlin.Short origin=null - FUN name:itest1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun stest4 (a: kotlin.Short, b: kotlin.Short): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Short declared in .stest4' type=kotlin.Short origin=null + arg1: CALL 'public open fun toInt (): kotlin.Int declared in kotlin.Short' type=kotlin.Int origin=null + $this: GET_VAR 'b: kotlin.Short declared in .stest4' type=kotlin.Short origin=null + FUN name:itest1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:itest1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:itest2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun itest1 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: GET_VAR 'a: kotlin.Int declared in .itest1' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .itest1' type=kotlin.Int origin=null + FUN name:itest2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:itest2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:itest3 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun itest2 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'a: kotlin.Int declared in .itest2' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .itest2' type=kotlin.Int origin=null + FUN name:itest3 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:itest3 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:itest4 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun itest3 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: GET_VAR 'a: kotlin.Int declared in .itest3' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .itest3' type=kotlin.Int origin=null + FUN name:itest4 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:itest4 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:ltest1 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[] + RETURN type=kotlin.Nothing from='public final fun itest4 (a: kotlin.Int, b: kotlin.Int): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: GET_VAR 'a: kotlin.Int declared in .itest4' type=kotlin.Int origin=null + arg1: GET_VAR 'b: kotlin.Int declared in .itest4' type=kotlin.Int origin=null + FUN name:ltest1 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Long + VALUE_PARAMETER name:b index:1 type:kotlin.Long BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ltest1 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Long, arg1:kotlin.Long) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - FUN name:ltest2 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[] + RETURN type=kotlin.Nothing from='public final fun ltest1 (a: kotlin.Long, b: kotlin.Long): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Long, arg1: kotlin.Long): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: GET_VAR 'a: kotlin.Long declared in .ltest1' type=kotlin.Long origin=null + arg1: GET_VAR 'b: kotlin.Long declared in .ltest1' type=kotlin.Long origin=null + FUN name:ltest2 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Long + VALUE_PARAMETER name:b index:1 type:kotlin.Long BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ltest2 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Long, arg1:kotlin.Long) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - FUN name:ltest3 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[] + RETURN type=kotlin.Nothing from='public final fun ltest2 (a: kotlin.Long, b: kotlin.Long): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Long, arg1: kotlin.Long): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'a: kotlin.Long declared in .ltest2' type=kotlin.Long origin=null + arg1: GET_VAR 'b: kotlin.Long declared in .ltest2' type=kotlin.Long origin=null + FUN name:ltest3 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Long + VALUE_PARAMETER name:b index:1 type:kotlin.Long BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ltest3 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Long, arg1:kotlin.Long) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - FUN name:ltest4 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[] + RETURN type=kotlin.Nothing from='public final fun ltest3 (a: kotlin.Long, b: kotlin.Long): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Long, arg1: kotlin.Long): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: GET_VAR 'a: kotlin.Long declared in .ltest3' type=kotlin.Long origin=null + arg1: GET_VAR 'b: kotlin.Long declared in .ltest3' type=kotlin.Long origin=null + FUN name:ltest4 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Long + VALUE_PARAMETER name:b index:1 type:kotlin.Long BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ltest4 visibility:public modality:FINAL <> (a:kotlin.Long, b:kotlin.Long) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Long, arg1:kotlin.Long) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Long flags:[]' type=kotlin.Long origin=null - FUN name:ftest1 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[] + RETURN type=kotlin.Nothing from='public final fun ltest4 (a: kotlin.Long, b: kotlin.Long): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Long, arg1: kotlin.Long): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: GET_VAR 'a: kotlin.Long declared in .ltest4' type=kotlin.Long origin=null + arg1: GET_VAR 'b: kotlin.Long declared in .ltest4' type=kotlin.Long origin=null + FUN name:ftest1 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Float + VALUE_PARAMETER name:b index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ftest1 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:ftest2 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[] + RETURN type=kotlin.Nothing from='public final fun ftest1 (a: kotlin.Float, b: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: GET_VAR 'a: kotlin.Float declared in .ftest1' type=kotlin.Float origin=null + arg1: GET_VAR 'b: kotlin.Float declared in .ftest1' type=kotlin.Float origin=null + FUN name:ftest2 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Float + VALUE_PARAMETER name:b index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ftest2 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:ftest3 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[] + RETURN type=kotlin.Nothing from='public final fun ftest2 (a: kotlin.Float, b: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'a: kotlin.Float declared in .ftest2' type=kotlin.Float origin=null + arg1: GET_VAR 'b: kotlin.Float declared in .ftest2' type=kotlin.Float origin=null + FUN name:ftest3 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Float + VALUE_PARAMETER name:b index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ftest3 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:ftest4 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[] + RETURN type=kotlin.Nothing from='public final fun ftest3 (a: kotlin.Float, b: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: GET_VAR 'a: kotlin.Float declared in .ftest3' type=kotlin.Float origin=null + arg1: GET_VAR 'b: kotlin.Float declared in .ftest3' type=kotlin.Float origin=null + FUN name:ftest4 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Float + VALUE_PARAMETER name:b index:1 type:kotlin.Float BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ftest4 visibility:public modality:FINAL <> (a:kotlin.Float, b:kotlin.Float) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Float, arg1:kotlin.Float) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Float flags:[]' type=kotlin.Float origin=null - FUN name:dtest1 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[] + RETURN type=kotlin.Nothing from='public final fun ftest4 (a: kotlin.Float, b: kotlin.Float): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: GET_VAR 'a: kotlin.Float declared in .ftest4' type=kotlin.Float origin=null + arg1: GET_VAR 'b: kotlin.Float declared in .ftest4' type=kotlin.Float origin=null + FUN name:dtest1 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Double + VALUE_PARAMETER name:b index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:dtest1 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:dtest2 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[] + RETURN type=kotlin.Nothing from='public final fun dtest1 (a: kotlin.Double, b: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: GET_VAR 'a: kotlin.Double declared in .dtest1' type=kotlin.Double origin=null + arg1: GET_VAR 'b: kotlin.Double declared in .dtest1' type=kotlin.Double origin=null + FUN name:dtest2 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Double + VALUE_PARAMETER name:b index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:dtest2 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:dtest3 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[] + RETURN type=kotlin.Nothing from='public final fun dtest2 (a: kotlin.Double, b: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'a: kotlin.Double declared in .dtest2' type=kotlin.Double origin=null + arg1: GET_VAR 'b: kotlin.Double declared in .dtest2' type=kotlin.Double origin=null + FUN name:dtest3 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Double + VALUE_PARAMETER name:b index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:dtest3 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - FUN name:dtest4 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[] + RETURN type=kotlin.Nothing from='public final fun dtest3 (a: kotlin.Double, b: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: GET_VAR 'a: kotlin.Double declared in .dtest3' type=kotlin.Double origin=null + arg1: GET_VAR 'b: kotlin.Double declared in .dtest3' type=kotlin.Double origin=null + FUN name:dtest4 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.Double + VALUE_PARAMETER name:b index:1 type:kotlin.Double BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:dtest4 visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null + RETURN type=kotlin.Nothing from='public final fun dtest4 (a: kotlin.Double, b: kotlin.Double): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: GET_VAR 'a: kotlin.Double declared in .dtest4' type=kotlin.Double origin=null + arg1: GET_VAR 'b: kotlin.Double declared in .dtest4' type=kotlin.Double origin=null diff --git a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt index 436aa478304..0973fb91e33 100644 --- a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt +++ b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt @@ -1,133 +1,133 @@ FILE fqName: fileName:/primitivesImplicitConversions.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Long visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Long visibility:public [final,static] EXPRESSION_BODY CONST Long type=kotlin.Long value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Long visibility:public flags:[final,static]' type=kotlin.Long origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Short visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Long declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Short visibility:public [final,static] EXPRESSION_BODY CONST Short type=kotlin.Short value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Short visibility:public flags:[final,static]' type=kotlin.Short origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Byte visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Short declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Short visibility:public [final,static] ' type=kotlin.Short origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Byte visibility:public [final,static] EXPRESSION_BODY CONST Byte type=kotlin.Byte value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Byte visibility:public flags:[final,static]' type=kotlin.Byte origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Long visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Byte declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Byte visibility:public [final,static] ' type=kotlin.Byte origin=null + PROPERTY name:test4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Long visibility:public [final,static] EXPRESSION_BODY TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Long visibility:public flags:[final,static]' type=kotlin.Long origin=null - PROPERTY name:test5 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Short visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Long declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null + PROPERTY name:test5 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Short visibility:public [final,static] EXPRESSION_BODY TYPE_OP type=kotlin.Short origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Short - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Short modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Short modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short flags:[] - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Short flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Short visibility:public flags:[final,static]' type=kotlin.Short origin=null - PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Byte visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Short declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Short visibility:public [final,static] ' type=kotlin.Short origin=null + PROPERTY name:test6 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Byte visibility:public [final,static] EXPRESSION_BODY TYPE_OP type=kotlin.Byte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Byte - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Byte modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Byte modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte flags:[] - correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Byte flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Byte visibility:public flags:[final,static]' type=kotlin.Byte origin=null - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Byte declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Byte visibility:public [final,static] ' type=kotlin.Byte origin=null + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:test1 type:kotlin.Int? flags:[val] + VAR name:test1 type:kotlin.Int? [val] CONST Int type=kotlin.Int value=42 - VAR name:test2 type:kotlin.Long flags:[val] + VAR name:test2 type:kotlin.Long [val] CONST Long type=kotlin.Long value=42 - VAR name:test3 type:kotlin.Long? flags:[val] + VAR name:test3 type:kotlin.Long? [val] CONST Long type=kotlin.Long value=42 - VAR name:test4 type:kotlin.Long? flags:[val] + VAR name:test4 type:kotlin.Long? [val] CONST Long type=kotlin.Long value=-1 - VAR name:test5 type:kotlin.Long? flags:[val] + VAR name:test5 type:kotlin.Long? [val] TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=1 - VAR name:test6 type:kotlin.Short? flags:[val] + VAR name:test6 type:kotlin.Short? [val] TYPE_OP type=kotlin.Short origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Short - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Short modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Short modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=1 - VAR name:test7 type:kotlin.Byte? flags:[val] + VAR name:test7 type:kotlin.Byte? [val] TYPE_OP type=kotlin.Byte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Byte - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Byte modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Byte modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=1 - FUN name:testImplicitArguments visibility:public modality:FINAL <> (x:kotlin.Long) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Long flags:[] + FUN name:testImplicitArguments visibility:public modality:FINAL <> (x:kotlin.Long) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:kotlin.Long EXPRESSION_BODY TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=1 BLOCK_BODY - CLASS CLASS name:TestImplicitArguments modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestImplicitArguments flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Long) returnType:.TestImplicitArguments flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Long flags:[] + CLASS CLASS name:TestImplicitArguments modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestImplicitArguments + CONSTRUCTOR visibility:public <> (x:kotlin.Long) returnType:.TestImplicitArguments [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Long EXPRESSION_BODY TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestImplicitArguments modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Long visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestImplicitArguments modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Long visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Long flags:[]' type=kotlin.Long origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestImplicitArguments) returnType:kotlin.Long flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.TestImplicitArguments flags:[] + GET_VAR 'x: kotlin.Long declared in .TestImplicitArguments.' type=kotlin.Long origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestImplicitArguments) returnType:kotlin.Long + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.TestImplicitArguments BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestImplicitArguments) returnType:kotlin.Long flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Long visibility:public flags:[final]' type=kotlin.Long origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.TestImplicitArguments flags:[]' type=.TestImplicitArguments origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Long declared in .TestImplicitArguments' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Long visibility:public [final] ' type=kotlin.Long origin=null + receiver: GET_VAR ': .TestImplicitArguments declared in .TestImplicitArguments.' type=.TestImplicitArguments origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/propertyReferences.txt b/compiler/testData/ir/irText/expressions/propertyReferences.txt index 10cee07de79..2bfefe94148 100644 --- a/compiler/testData/ir/irText/expressions/propertyReferences.txt +++ b/compiler/testData/ir/irText/expressions/propertyReferences.txt @@ -1,296 +1,296 @@ FILE fqName: fileName:/propertyReferences.kt - CLASS OBJECT name:Delegate modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Delegate flags: - CONSTRUCTOR visibility:private <> () returnType:Delegate flags:primary + CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Delegate + CONSTRUCTOR visibility:private <> () returnType:.Delegate [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Delegate' - FUN name:getValue visibility:public modality:FINAL <> ($this:Delegate, thisRef:kotlin.Any?, kProp:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:Delegate flags: - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags: - VALUE_PARAMETER name:kProp index:1 type:kotlin.Any flags: + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:getValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, kProp:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Delegate + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:kProp index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any): Int' + RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any): kotlin.Int declared in .Delegate' CONST Int type=kotlin.Int value=1 - FUN name:setValue visibility:public modality:FINAL <> ($this:Delegate, thisRef:kotlin.Any?, kProp:kotlin.Any, value:kotlin.Int) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Delegate flags: - VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags: - VALUE_PARAMETER name:kProp index:1 type:kotlin.Any flags: - VALUE_PARAMETER name:value index:2 type:kotlin.Int flags: + FUN name:setValue visibility:public modality:FINAL <> ($this:.Delegate, thisRef:kotlin.Any?, kProp:kotlin.Any, value:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Delegate + VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? + VALUE_PARAMETER name:kProp index:1 type:kotlin.Any + VALUE_PARAMETER name:value index:2 type:kotlin.Int BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - CLASS CLASS name:C modality:OPEN visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:C flags: - CONSTRUCTOR visibility:public <> () returnType:C flags:primary + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - PROPERTY name:varWithPrivateSet visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:varWithPrivateSet type:kotlin.Int visibility:public flags: + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:OPEN visibility:public superTypes:[kotlin.Any]' + PROPERTY name:varWithPrivateSet visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:varWithPrivateSet type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:C) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:varWithPrivateSet visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:C flags: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:varWithPrivateSet visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'varWithPrivateSet: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - FUN name: visibility:private modality:FINAL <> ($this:C, :kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:varWithPrivateSet visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:C flags: - VALUE_PARAMETER name: index:0 type:kotlin.Int flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithPrivateSet type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN name: visibility:private modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:varWithPrivateSet visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'varWithPrivateSet: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null - PROPERTY name:varWithProtectedSet visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:varWithProtectedSet type:kotlin.Int visibility:public flags: + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithPrivateSet type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + PROPERTY name:varWithProtectedSet visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:varWithProtectedSet type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:C) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:varWithProtectedSet visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:C flags: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:varWithProtectedSet visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'varWithProtectedSet: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - FUN name: visibility:protected modality:FINAL <> ($this:C, :kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:varWithProtectedSet visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:C flags: - VALUE_PARAMETER name: index:0 type:kotlin.Int flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithProtectedSet type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN name: visibility:protected modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:varWithProtectedSet visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'varWithProtectedSet: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithProtectedSet type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - PROPERTY name:valWithBackingField visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:valWithBackingField type:kotlin.Int visibility:public flags:final,static + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:valWithBackingField visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:valWithBackingField type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:valWithBackingField visibility:public modality:FINAL flags:val + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:valWithBackingField visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'valWithBackingField: Int' type=kotlin.Int origin=null - PROPERTY name:test_valWithBackingField visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_valWithBackingField type:kotlin.reflect.KProperty0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:valWithBackingField type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test_valWithBackingField visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_valWithBackingField type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'valWithBackingField: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags: - correspondingProperty: PROPERTY name:test_valWithBackingField visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:valWithBackingField visibility:public modality:FINAL [val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test_valWithBackingField visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test_valWithBackingField: KProperty0' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:varWithBackingField visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:varWithBackingField type:kotlin.Int visibility:public flags:static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_valWithBackingField type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:varWithBackingField visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:varWithBackingField type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:varWithBackingField visibility:public modality:FINAL flags:var + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:varWithBackingField visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'varWithBackingField: Int' type=kotlin.Int origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:varWithBackingField visibility:public modality:FINAL flags:var - VALUE_PARAMETER name: index:0 type:kotlin.Int flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithBackingField type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:varWithBackingField visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'varWithBackingField: Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null - PROPERTY name:test_varWithBackingField visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_varWithBackingField type:kotlin.reflect.KMutableProperty0 visibility:public flags:final,static + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithBackingField type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:test_varWithBackingField visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_varWithBackingField type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'varWithBackingField: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 flags: - correspondingProperty: PROPERTY name:test_varWithBackingField visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:varWithBackingField visibility:public modality:FINAL [var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 + correspondingProperty: PROPERTY name:test_varWithBackingField visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KMutableProperty0' - GET_FIELD 'test_varWithBackingField: KMutableProperty0' type=kotlin.reflect.KMutableProperty0 origin=null - PROPERTY name:varWithBackingFieldAndAccessors visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:varWithBackingFieldAndAccessors type:kotlin.Int visibility:public flags:static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_varWithBackingField type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] ' type=kotlin.reflect.KMutableProperty0 origin=null + PROPERTY name:varWithBackingFieldAndAccessors visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:varWithBackingFieldAndAccessors type:kotlin.Int visibility:public [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:varWithBackingFieldAndAccessors visibility:public modality:FINAL flags:var + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:varWithBackingFieldAndAccessors visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'varWithBackingFieldAndAccessors: Int' type=kotlin.Int origin=null - FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:varWithBackingFieldAndAccessors visibility:public modality:FINAL flags:var - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags: + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithBackingFieldAndAccessors type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:varWithBackingFieldAndAccessors visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'varWithBackingFieldAndAccessors: Int' type=kotlin.Unit origin=EQ - value: GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null - PROPERTY name:test_varWithBackingFieldAndAccessors visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_varWithBackingFieldAndAccessors type:kotlin.reflect.KMutableProperty0 visibility:public flags:final,static + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:varWithBackingFieldAndAccessors type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=EQ + value: GET_VAR 'value: kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:test_varWithBackingFieldAndAccessors visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_varWithBackingFieldAndAccessors type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'varWithBackingFieldAndAccessors: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 flags: - correspondingProperty: PROPERTY name:test_varWithBackingFieldAndAccessors visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:varWithBackingFieldAndAccessors visibility:public modality:FINAL [var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (value: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 + correspondingProperty: PROPERTY name:test_varWithBackingFieldAndAccessors visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KMutableProperty0' - GET_FIELD 'test_varWithBackingFieldAndAccessors: KMutableProperty0' type=kotlin.reflect.KMutableProperty0 origin=null - PROPERTY name:valWithAccessors visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:valWithAccessors visibility:public modality:FINAL flags:val + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_varWithBackingFieldAndAccessors type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] ' type=kotlin.reflect.KMutableProperty0 origin=null + PROPERTY name:valWithAccessors visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:valWithAccessors visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - PROPERTY name:test_valWithAccessors visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_valWithAccessors type:kotlin.reflect.KProperty0 visibility:public flags:final,static + PROPERTY name:test_valWithAccessors visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_valWithAccessors type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'valWithAccessors: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags: - correspondingProperty: PROPERTY name:test_valWithAccessors visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:valWithAccessors visibility:public modality:FINAL [val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test_valWithAccessors visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test_valWithAccessors: KProperty0' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:varWithAccessors visibility:public modality:FINAL flags:var - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:varWithAccessors visibility:public modality:FINAL flags:var + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_valWithAccessors type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:varWithAccessors visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:varWithAccessors visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:varWithAccessors visibility:public modality:FINAL flags:var - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags: + FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:varWithAccessors visibility:public modality:FINAL [var] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - PROPERTY name:test_varWithAccessors visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_varWithAccessors type:kotlin.reflect.KMutableProperty0 visibility:public flags:final,static + PROPERTY name:test_varWithAccessors visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_varWithAccessors type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'varWithAccessors: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 flags: - correspondingProperty: PROPERTY name:test_varWithAccessors visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:varWithAccessors visibility:public modality:FINAL [var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (value: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 + correspondingProperty: PROPERTY name:test_varWithAccessors visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KMutableProperty0' - GET_FIELD 'test_varWithAccessors: KMutableProperty0' type=kotlin.reflect.KMutableProperty0 origin=null - PROPERTY name:delegatedVal visibility:public modality:FINAL flags:delegated,val - FIELD DELEGATE name:delegatedVal$delegate type:Delegate visibility:private flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_varWithAccessors type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] ' type=kotlin.reflect.KMutableProperty0 origin=null + PROPERTY name:delegatedVal visibility:public modality:FINAL [delegated,val] + FIELD DELEGATE name:delegatedVal$delegate type:.Delegate visibility:private [final,static] EXPRESSION_BODY - GET_OBJECT 'Delegate' type=Delegate - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:delegatedVal visibility:public modality:FINAL flags:delegated,val + GET_OBJECT 'CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Delegate + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:delegatedVal visibility:public modality:FINAL [delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, Any): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`delegatedVal$delegate`: Delegate' type=Delegate origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any): kotlin.Int declared in .Delegate' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:delegatedVal$delegate type:.Delegate visibility:private [final,static] ' type=.Delegate origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'delegatedVal: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - PROPERTY name:test_delegatedVal visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_delegatedVal type:kotlin.reflect.KProperty0 visibility:public flags:final,static + kProp: PROPERTY_REFERENCE 'PROPERTY name:delegatedVal visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + PROPERTY name:test_delegatedVal visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_delegatedVal type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'delegatedVal: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags: - correspondingProperty: PROPERTY name:test_delegatedVal visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:delegatedVal visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test_delegatedVal visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test_delegatedVal: KProperty0' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:delegatedVar visibility:public modality:FINAL flags:delegated,var - FIELD DELEGATE name:delegatedVar$delegate type:Delegate visibility:private flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_delegatedVal type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:delegatedVar visibility:public modality:FINAL [delegated,var] + FIELD DELEGATE name:delegatedVar$delegate type:.Delegate visibility:private [final,static] EXPRESSION_BODY - GET_OBJECT 'Delegate' type=Delegate - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:delegatedVar visibility:public modality:FINAL flags:delegated,var + GET_OBJECT 'CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Delegate + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:delegatedVar visibility:public modality:FINAL [delegated,var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, Any): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`delegatedVar$delegate`: Delegate' type=Delegate origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any): kotlin.Int declared in .Delegate' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD DELEGATE name:delegatedVar$delegate type:.Delegate visibility:private [final,static] ' type=.Delegate origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'delegatedVar: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:delegatedVar visibility:public modality:FINAL flags:delegated,var - VALUE_PARAMETER name: index:0 type:kotlin.Int flags: + kProp: PROPERTY_REFERENCE 'PROPERTY name:delegatedVar visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:delegatedVar visibility:public modality:FINAL [delegated,var] + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='(Int): Unit' - CALL 'setValue(Any?, Any, Int): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`delegatedVar$delegate`: Delegate' type=Delegate origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.Int): kotlin.Unit declared in ' + CALL 'public final fun setValue (thisRef: kotlin.Any?, kProp: kotlin.Any, value: kotlin.Int): kotlin.Unit declared in .Delegate' type=kotlin.Unit origin=null + $this: GET_FIELD 'FIELD DELEGATE name:delegatedVar$delegate type:.Delegate visibility:private [final,static] ' type=.Delegate origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'delegatedVar: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null - PROPERTY name:test_delegatedVar visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_delegatedVar type:kotlin.reflect.KMutableProperty0 visibility:public flags:final,static + kProp: PROPERTY_REFERENCE 'PROPERTY name:delegatedVar visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null + PROPERTY name:test_delegatedVar visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_delegatedVar type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'delegatedVar: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 flags: - correspondingProperty: PROPERTY name:test_delegatedVar visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:delegatedVar visibility:public modality:FINAL [delegated,var] ' field=null getter='public final fun (): kotlin.Int declared in ' setter='public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.reflect.KMutableProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 + correspondingProperty: PROPERTY name:test_delegatedVar visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KMutableProperty0' - GET_FIELD 'test_delegatedVar: KMutableProperty0' type=kotlin.reflect.KMutableProperty0 origin=null - PROPERTY name:constVal visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:constVal type:kotlin.Int visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_delegatedVar type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] ' type=kotlin.reflect.KMutableProperty0 origin=null + PROPERTY name:constVal visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:constVal type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:constVal visibility:public modality:FINAL flags:val + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:constVal visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'constVal: Int' type=kotlin.Int origin=null - PROPERTY name:test_constVal visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_constVal type:kotlin.reflect.KProperty0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:constVal type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test_constVal visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_constVal type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'constVal: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags: - correspondingProperty: PROPERTY name:test_constVal visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:constVal visibility:public modality:FINAL [val] ' field=null getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test_constVal visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test_constVal: KProperty0' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:test_J_CONST visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_J_CONST type:kotlin.reflect.KProperty0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_constVal type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:test_J_CONST visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_J_CONST type:kotlin.reflect.KProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'CONST: Int' field='CONST: Int' getter=null setter=null type=kotlin.reflect.KProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 flags: - correspondingProperty: PROPERTY name:test_J_CONST visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:CONST visibility:public modality:FINAL [const,val] ' field='FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:CONST type:kotlin.Int visibility:public [final,static] ' getter=null setter=null type=kotlin.reflect.KProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty0 + correspondingProperty: PROPERTY name:test_J_CONST visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test_J_CONST: KProperty0' type=kotlin.reflect.KProperty0 origin=null - PROPERTY name:test_J_nonConst visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_J_nonConst type:kotlin.reflect.KMutableProperty0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_J_CONST type:kotlin.reflect.KProperty0 visibility:public [final,static] ' type=kotlin.reflect.KProperty0 origin=null + PROPERTY name:test_J_nonConst visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_J_nonConst type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'nonConst: Int' field='nonConst: Int' getter=null setter=null type=kotlin.reflect.KMutableProperty0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 flags: - correspondingProperty: PROPERTY name:test_J_nonConst visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:nonConst visibility:public modality:FINAL [var] ' field='FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nonConst type:kotlin.Int visibility:public [static] ' getter=null setter=null type=kotlin.reflect.KMutableProperty0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KMutableProperty0 + correspondingProperty: PROPERTY name:test_J_nonConst visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KMutableProperty0' - GET_FIELD 'test_J_nonConst: KMutableProperty0' type=kotlin.reflect.KMutableProperty0 origin=null - PROPERTY name:test_varWithPrivateSet visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_varWithPrivateSet type:kotlin.reflect.KProperty1 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KMutableProperty0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_J_nonConst type:kotlin.reflect.KMutableProperty0 visibility:public [final,static] ' type=kotlin.reflect.KMutableProperty0 origin=null + PROPERTY name:test_varWithPrivateSet visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_varWithPrivateSet type:kotlin.reflect.KProperty1<.C, kotlin.Int> visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'varWithPrivateSet: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty1 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty1 flags: - correspondingProperty: PROPERTY name:test_varWithPrivateSet visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:varWithPrivateSet visibility:public modality:FINAL [var] ' field=null getter='public final fun (): kotlin.Int declared in .C' setter=null type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty1<.C, kotlin.Int> + correspondingProperty: PROPERTY name:test_varWithPrivateSet visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty1' - GET_FIELD 'test_varWithPrivateSet: KProperty1' type=kotlin.reflect.KProperty1 origin=null - PROPERTY name:test_varWithProtectedSet visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test_varWithProtectedSet type:kotlin.reflect.KProperty1 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty1<.C, kotlin.Int> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_varWithPrivateSet type:kotlin.reflect.KProperty1<.C, kotlin.Int> visibility:public [final,static] ' type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=null + PROPERTY name:test_varWithProtectedSet visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test_varWithProtectedSet type:kotlin.reflect.KProperty1<.C, kotlin.Int> visibility:public [final,static] EXPRESSION_BODY - PROPERTY_REFERENCE 'varWithProtectedSet: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty1 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty1 flags: - correspondingProperty: PROPERTY name:test_varWithProtectedSet visibility:public modality:FINAL flags:val + PROPERTY_REFERENCE 'PROPERTY name:varWithProtectedSet visibility:public modality:FINAL [var] ' field=null getter='public final fun (): kotlin.Int declared in .C' setter=null type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KProperty1<.C, kotlin.Int> + correspondingProperty: PROPERTY name:test_varWithProtectedSet visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty1' - GET_FIELD 'test_varWithProtectedSet: KProperty1' type=kotlin.reflect.KProperty1 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KProperty1<.C, kotlin.Int> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test_varWithProtectedSet type:kotlin.reflect.KProperty1<.C, kotlin.Int> visibility:public [final,static] ' type=kotlin.reflect.KProperty1<.C, kotlin.Int> origin=null diff --git a/compiler/testData/ir/irText/expressions/references.txt b/compiler/testData/ir/irText/expressions/references.txt index a53f5944b0d..55ac187acb0 100644 --- a/compiler/testData/ir/irText/expressions/references.txt +++ b/compiler/testData/ir/irText/expressions/references.txt @@ -1,57 +1,57 @@ FILE fqName: fileName:/references.kt - PROPERTY name:ok visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:[final,static] + PROPERTY name:ok visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="OK" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:ok2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:ok2 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:ok2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ok2 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:ok2 visibility:public modality:FINAL flags:[val] + CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:ok2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok2 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:ok3 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:ok3 visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok2 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:ok3 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:ok3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CONST String type=kotlin.String value="OK" - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.String) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.String declared in ' + CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.String) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.String) returnType:kotlin.String flags:[]' - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.String): kotlin.String declared in ' + GET_VAR 'x: kotlin.String declared in .test2' type=kotlin.String origin=null + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - VAR name:x type:kotlin.String flags:[val] + VAR name:x type:kotlin.String [val] CONST String type=kotlin.String value="OK" - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_VAR 'VAR name:x type:kotlin.String flags:[val]' type=kotlin.String origin=null - FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun test3 (): kotlin.String declared in ' + GET_VAR 'val x: kotlin.String [val] declared in .test3' type=kotlin.String origin=null + FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - PROPERTY name:okext visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:okext visibility:public modality:FINAL flags:[val] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun test4 (): kotlin.String declared in ' + CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + PROPERTY name:okext visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String + correspondingProperty: PROPERTY name:okext visibility:public modality:FINAL [val] + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CONST String type=kotlin.String value="OK" - FUN name:test5 visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + FUN name:test5 visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' - CALL 'FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test5 (): kotlin.String declared in ' + CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + $receiver: GET_VAR ': kotlin.String declared in .test5' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/reflectionLiterals.txt b/compiler/testData/ir/irText/expressions/reflectionLiterals.txt index e5693742f1c..9cc6f5e21ad 100644 --- a/compiler/testData/ir/irText/expressions/reflectionLiterals.txt +++ b/compiler/testData/ir/irText/expressions/reflectionLiterals.txt @@ -1,90 +1,90 @@ FILE fqName: fileName:/reflectionLiterals.kt - CLASS CLASS name:A modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:A flags: - CONSTRUCTOR visibility:public <> () returnType:A flags:primary + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN name:foo visibility:public modality:FINAL <> ($this:A) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:A flags: + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Any flags: - FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - PROPERTY name:qux visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:qux type:kotlin.Int visibility:public flags:final,static + PROPERTY name:qux visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:qux type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:qux visibility:public modality:FINAL flags:val + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:qux visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'qux: Int' type=kotlin.Int origin=null - PROPERTY name:test1 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KClass visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:qux type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KClass<.A> visibility:public [final,static] EXPRESSION_BODY - CLASS_REFERENCE 'A' type=kotlin.reflect.KClass - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KClass flags: - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:val + CLASS_REFERENCE 'CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.A> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KClass<.A> + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KClass' - GET_FIELD 'test1: KClass' type=kotlin.reflect.KClass origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KClass visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KClass<.A> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KClass<.A> visibility:public [final,static] ' type=kotlin.reflect.KClass<.A> origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KClass visibility:public [final,static] EXPRESSION_BODY GET_CLASS type=kotlin.reflect.KClass - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KClass flags: - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:val + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KClass + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KClass' - GET_FIELD 'test2: KClass' type=kotlin.reflect.KClass origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.reflect.KFunction1 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KClass declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.reflect.KClass visibility:public [final,static] ' type=kotlin.reflect.KClass origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.reflect.KFunction1<.A, kotlin.Unit> visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction1 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction1 flags: - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:val + FUNCTION_REFERENCE 'public final fun foo (): kotlin.Unit declared in .A' type=kotlin.reflect.KFunction1<.A, kotlin.Unit> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction1<.A, kotlin.Unit> + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction1' - GET_FIELD 'test3: KFunction1' type=kotlin.reflect.KFunction1 origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.reflect.KFunction0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction1<.A, kotlin.Unit> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.reflect.KFunction1<.A, kotlin.Unit> visibility:public [final,static] ' type=kotlin.reflect.KFunction1<.A, kotlin.Unit> origin=null + PROPERTY name:test4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.reflect.KFunction0<.A> visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'constructor A()' type=kotlin.reflect.KFunction0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags: - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:val + FUNCTION_REFERENCE 'public constructor () [primary] declared in .A' type=kotlin.reflect.KFunction0<.A> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0<.A> + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction0' - GET_FIELD 'test4: KFunction0' type=kotlin.reflect.KFunction0 origin=null - PROPERTY name:test5 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.reflect.KFunction0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction0<.A> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.reflect.KFunction0<.A> visibility:public [final,static] ' type=kotlin.reflect.KFunction0<.A> origin=null + PROPERTY name:test5 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.reflect.KFunction0 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction0 origin=null - $this: CALL 'constructor A()' type=A origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags: - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:val + FUNCTION_REFERENCE 'public final fun foo (): kotlin.Unit declared in .A' type=kotlin.reflect.KFunction0 origin=null + $this: CALL 'public constructor () [primary] declared in .A' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction0' - GET_FIELD 'test5: KFunction0' type=kotlin.reflect.KFunction0 origin=null - PROPERTY name:test6 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.reflect.KFunction0 visibility:public flags:final,static + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.reflect.KFunction0 visibility:public [final,static] ' type=kotlin.reflect.KFunction0 origin=null + PROPERTY name:test6 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.reflect.KFunction0 visibility:public [final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'bar(): Unit' type=kotlin.reflect.KFunction0 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 flags: - correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:val + FUNCTION_REFERENCE 'public final fun bar (): kotlin.Unit declared in ' type=kotlin.reflect.KFunction0 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.reflect.KFunction0 + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction0' - GET_FIELD 'test6: KFunction0' type=kotlin.reflect.KFunction0 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KFunction0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.reflect.KFunction0 visibility:public [final,static] ' type=kotlin.reflect.KFunction0 origin=null diff --git a/compiler/testData/ir/irText/expressions/safeAssignment.txt b/compiler/testData/ir/irText/expressions/safeAssignment.txt index 2bea195e27c..5ce99e80342 100644 --- a/compiler/testData/ir/irText/expressions/safeAssignment.txt +++ b/compiler/testData/ir/irText/expressions/safeAssignment.txt @@ -1,59 +1,59 @@ FILE fqName: fileName:/safeAssignment.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.C flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + GET_VAR 'x: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> (nc:.C?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:nc index:0 type:.C? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (nc:.C?) returnType:kotlin.Unit + VALUE_PARAMETER name:nc index:0 type:.C? BLOCK_BODY BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? flags:[val] - GET_VAR 'VALUE_PARAMETER name:nc index:0 type:.C? flags:[]' type=.C? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? [val] + GET_VAR 'nc: .C? declared in .test' type=.C? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? flags:[val]' type=.C? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: .C? [val] declared in .test' type=.C? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.C? flags:[val]' type=.C? origin=null + then: CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'val tmp0_safe_receiver: .C? [val] declared in .test' type=.C? origin=null : CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt b/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt index f7985a92d3f..7e81c2b5aae 100644 --- a/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt +++ b/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt @@ -1,120 +1,120 @@ FILE fqName:test fileName:/safeCallWithIncrementDecrement.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:test.C flags:[primary] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.C + CONSTRUCTOR visibility:public <> () returnType:test.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:p visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL <> ($receiver:test.C?) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - $receiver: VALUE_PARAMETER name: type:test.C? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:p visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($receiver:test.C?) returnType:kotlin.Int + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:test.C? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:test.C?) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> ($receiver:test.C?, value:kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - $receiver: VALUE_PARAMETER name: type:test.C? flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + FUN name: visibility:public modality:FINAL <> ($receiver:test.C?, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:test.C? + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - FUN name:inc visibility:public modality:FINAL <> ($receiver:kotlin.Int?) returnType:kotlin.Int? flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int? flags:[] + FUN name:inc visibility:public modality:FINAL <> ($receiver:kotlin.Int?) returnType:kotlin.Int? + $receiver: VALUE_PARAMETER name: type:kotlin.Int? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:inc visibility:public modality:FINAL <> ($receiver:kotlin.Int?) returnType:kotlin.Int? flags:[]' + RETURN type=kotlin.Nothing from='public final fun inc (): kotlin.Int? declared in test' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int? flags:[val] - GET_VAR 'VALUE_PARAMETER name: type:kotlin.Int? flags:[]' type=kotlin.Int? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int? [val] + GET_VAR ': kotlin.Int? declared in test.inc' type=kotlin.Int? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int? flags:[val]' type=kotlin.Int? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Int? [val] declared in test.inc' type=kotlin.Int? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int? flags:[val]' type=kotlin.Int? origin=null - FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int? flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] + then: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.Int? [val] declared in test.inc' type=kotlin.Int? origin=null + FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Int? + VALUE_PARAMETER name:index index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun get (index: kotlin.Int): kotlin.Int declared in test' CONST Int type=kotlin.Int value=42 - FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int? flags:[] - VALUE_PARAMETER name:index index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:value index:1 type:kotlin.Int flags:[] + FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:kotlin.Int? + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:kotlin.Int BLOCK_BODY - FUN name:testProperty visibility:public modality:FINAL <> (nc:test.C?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:nc index:0 type:test.C? flags:[] + FUN name:testProperty visibility:public modality:FINAL <> (nc:test.C?) returnType:kotlin.Unit + VALUE_PARAMETER name:nc index:0 type:test.C? BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? flags:[val] - GET_VAR 'VALUE_PARAMETER name:nc index:0 type:test.C? flags:[]' type=test.C? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? [val] + GET_VAR 'nc: test.C? declared in test.testProperty' type=test.C? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? flags:[val]' type=test.C? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: test.C? [val] declared in test.testProperty' type=test.C? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1_receiver type:test.C? flags:[val] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? flags:[val]' type=test.C? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_receiver type:test.C? [val] + GET_VAR 'val tmp0_safe_receiver: test.C? [val] declared in test.testProperty' type=test.C? origin=null BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val] - CALL 'FUN name: visibility:public modality:FINAL <> ($receiver:test.C?) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_receiver type:test.C? flags:[val]' type=test.C? origin=null - CALL 'FUN name: visibility:public modality:FINAL <> ($receiver:test.C?, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_receiver type:test.C? flags:[val]' type=test.C? origin=null - value: CALL 'FUN name:inc visibility:public modality:FINAL <> ($receiver:kotlin.Int?) returnType:kotlin.Int? flags:[]' type=kotlin.Int? origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUN name:testArrayAccess visibility:public modality:FINAL <> (nc:test.C?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:nc index:0 type:test.C? flags:[] + VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in test' type=kotlin.Int origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp1_receiver: test.C? [val] declared in test.testProperty' type=test.C? origin=null + CALL 'public final fun (value: kotlin.Int): kotlin.Unit declared in test' type=kotlin.Unit origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp1_receiver: test.C? [val] declared in test.testProperty' type=test.C? origin=null + value: CALL 'public final fun inc (): kotlin.Int? declared in test' type=kotlin.Int? origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp2: kotlin.Int [val] declared in test.testProperty' type=kotlin.Int origin=null + GET_VAR 'val tmp2: kotlin.Int [val] declared in test.testProperty' type=kotlin.Int origin=null + FUN name:testArrayAccess visibility:public modality:FINAL <> (nc:test.C?) returnType:kotlin.Unit + VALUE_PARAMETER name:nc index:0 type:test.C? BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.Int? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.Int? [val] BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? flags:[val] - GET_VAR 'VALUE_PARAMETER name:nc index:0 type:test.C? flags:[]' type=test.C? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? [val] + GET_VAR 'nc: test.C? declared in test.testArrayAccess' type=test.C? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? flags:[val]' type=test.C? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: test.C? [val] declared in test.testArrayAccess' type=test.C? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name: visibility:public modality:FINAL <> ($receiver:test.C?) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:test.C? flags:[val]' type=test.C? origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int flags:[val] + then: CALL 'public final fun (): kotlin.Int declared in test' type=kotlin.Int origin=GET_PROPERTY + $receiver: GET_VAR 'val tmp0_safe_receiver: test.C? [val] declared in test.testArrayAccess' type=test.C? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val] - CALL 'FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.Int? flags:[val]' type=kotlin.Int? origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int, value:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.Int? flags:[val]' type=kotlin.Int? origin=null - index: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int [val] + CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in test' type=kotlin.Int origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp1_array: kotlin.Int? [val] declared in test.testArrayAccess' type=kotlin.Int? origin=null + index: GET_VAR 'val tmp2_index0: kotlin.Int [val] declared in test.testArrayAccess' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in test' type=kotlin.Unit origin=POSTFIX_INCR + $receiver: GET_VAR 'val tmp1_array: kotlin.Int? [val] declared in test.testArrayAccess' type=kotlin.Int? origin=null + index: GET_VAR 'val tmp2_index0: kotlin.Int [val] declared in test.testArrayAccess' type=kotlin.Int origin=null + value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp3: kotlin.Int [val] declared in test.testArrayAccess' type=kotlin.Int origin=null + GET_VAR 'val tmp3: kotlin.Int [val] declared in test.testArrayAccess' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/safeCalls.txt b/compiler/testData/ir/irText/expressions/safeCalls.txt index 4c10ccf6247..6cb69a57acd 100644 --- a/compiler/testData/ir/irText/expressions/safeCalls.txt +++ b/compiler/testData/ir/irText/expressions/safeCalls.txt @@ -1,175 +1,175 @@ FILE fqName: fileName:/safeCalls.kt - CLASS CLASS name:Ref modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ref flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Ref flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + CLASS CLASS name:Ref modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Ref + CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Ref [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Ref modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Ref modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Ref flags:[] + GET_VAR 'value: kotlin.Int declared in .Ref.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref) returnType:kotlin.Int + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Ref BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Ref flags:[]' type=.Ref origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.Ref flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Ref' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Ref declared in .Ref.' type=.Ref origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.Ref + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Ref flags:[]' type=.Ref origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Ref declared in .Ref.' type=.Ref origin=null + value: GET_VAR ': kotlin.Int declared in .Ref.' type=kotlin.Int origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IHost modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IHost flags:[] - FUN name:extLength visibility:public modality:OPEN <> ($this:.IHost, $receiver:kotlin.String) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.IHost flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IHost modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IHost + FUN name:extLength visibility:public modality:OPEN <> ($this:.IHost, $receiver:kotlin.String) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.IHost + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:extLength visibility:public modality:OPEN <> ($this:.IHost, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun extLength (): kotlin.Int declared in .IHost' + CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': kotlin.String declared in .IHost.extLength' type=kotlin.String origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? + VALUE_PARAMETER name:x index:0 type:kotlin.String? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.String?): kotlin.Int? declared in ' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? [val] + GET_VAR 'x: kotlin.String? declared in .test1' type=kotlin.String? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test1' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null - FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[] + then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test1' type=kotlin.String? origin=null + FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? + VALUE_PARAMETER name:x index:0 type:kotlin.String? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.String?): kotlin.Int? declared in ' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? [val] + GET_VAR 'x: kotlin.String? declared in .test2' type=kotlin.String? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test2' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null - FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.String?, y:kotlin.Any?) returnType:kotlin.Boolean? flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[] + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test2' type=kotlin.String? origin=null + FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.String?, y:kotlin.Any?) returnType:kotlin.Boolean? + VALUE_PARAMETER name:x index:0 type:kotlin.String? + VALUE_PARAMETER name:y index:1 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.String?, y:kotlin.Any?) returnType:kotlin.Boolean? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.String?, y: kotlin.Any?): kotlin.Boolean? declared in ' BLOCK type=kotlin.Boolean? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? [val] + GET_VAR 'x: kotlin.String? declared in .test3' type=kotlin.String? origin=null WHEN type=kotlin.Boolean? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test3' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null - other: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - FUN name:test4 visibility:public modality:FINAL <> (x:.Ref?) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:.Ref? flags:[] + then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.String' type=kotlin.Boolean origin=null + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test3' type=kotlin.String? origin=null + other: GET_VAR 'y: kotlin.Any? declared in .test3' type=kotlin.Any? origin=null + FUN name:test4 visibility:public modality:FINAL <> (x:.Ref?) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:.Ref? BLOCK_BODY BLOCK type=kotlin.Unit origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.Ref? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Ref? flags:[]' type=.Ref? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.Ref? [val] + GET_VAR 'x: .Ref? declared in .test4' type=.Ref? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.Ref? flags:[val]' type=.Ref? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: .Ref? [val] declared in .test4' type=.Ref? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Ref, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:.Ref? flags:[val]' type=.Ref? origin=null + then: CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Ref' type=kotlin.Unit origin=EQ + $this: GET_VAR 'val tmp0_safe_receiver: .Ref? [val] declared in .test4' type=.Ref? origin=null : CONST Int type=kotlin.Int value=0 - FUN name:test5 visibility:public modality:FINAL <> ($receiver:.IHost, s:kotlin.String?) returnType:kotlin.Int? flags:[] - $receiver: VALUE_PARAMETER name: type:.IHost flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String? flags:[] + FUN name:test5 visibility:public modality:FINAL <> ($receiver:.IHost, s:kotlin.String?) returnType:kotlin.Int? + $receiver: VALUE_PARAMETER name: type:.IHost + VALUE_PARAMETER name:s index:0 type:kotlin.String? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> ($receiver:.IHost, s:kotlin.String?) returnType:kotlin.Int? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test5 (s: kotlin.String?): kotlin.Int? declared in ' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val] - GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? [val] + GET_VAR 's: kotlin.String? declared in .test5' type=kotlin.String? origin=null WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test5' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:extLength visibility:public modality:OPEN <> ($this:.IHost, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.IHost flags:[]' type=.IHost origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null - FUN name:foo visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + then: CALL 'public open fun extLength (): kotlin.Int declared in .IHost' type=kotlin.Int origin=null + $this: GET_VAR ': .IHost declared in .test5' type=.IHost origin=null + $receiver: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test5' type=kotlin.String? origin=null + FUN name:foo visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=239 - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int [val] CONST Int type=kotlin.Int value=42 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Int [val] declared in .box' type=kotlin.Int origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:foo visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + then: CALL 'public final fun foo (): kotlin.Int declared in ' type=kotlin.Int origin=null + $receiver: GET_VAR 'val tmp0_safe_receiver: kotlin.Int [val] declared in .box' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/sam/samConstructors.txt b/compiler/testData/ir/irText/expressions/sam/samConstructors.txt index 296c8923a19..55f75edfb92 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConstructors.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConstructors.txt @@ -1,27 +1,27 @@ FILE fqName: fileName:/samConstructors.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:java.lang.Runnable flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:java.lang.Runnable BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:java.lang.Runnable flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (): java.lang.Runnable declared in ' TYPE_OP type=java.lang.Runnable origin=SAM_CONVERSION typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:java.lang.Runnable flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test1' type=kotlin.Function0 origin=LAMBDA + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:java.lang.Runnable + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:java.lang.Runnable flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Function0): java.lang.Runnable declared in ' TYPE_OP type=java.lang.Runnable origin=SAM_CONVERSION typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test2' type=kotlin.Function0 origin=null + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - FUN name:test3 visibility:public modality:FINAL <> () returnType:java.lang.Runnable flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:java.lang.Runnable BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> () returnType:java.lang.Runnable flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (): java.lang.Runnable declared in ' TYPE_OP type=java.lang.Runnable origin=SAM_CONVERSION typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - FUNCTION_REFERENCE 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KFunction0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + FUNCTION_REFERENCE 'public final fun foo (): kotlin.Unit declared in ' type=kotlin.reflect.KFunction0 origin=null diff --git a/compiler/testData/ir/irText/expressions/sam/samConversions.txt b/compiler/testData/ir/irText/expressions/sam/samConversions.txt index 67c2b2b7cae..616132658fc 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversions.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversions.txt @@ -1,63 +1,63 @@ FILE fqName: fileName:/samConversions.kt - FUN name:test0 visibility:public modality:FINAL <> ($receiver:.J, a:java.lang.Runnable) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.J flags:[] - VALUE_PARAMETER name:a index:0 type:java.lang.Runnable flags:[] + FUN name:test0 visibility:public modality:FINAL <> ($receiver:.J, a:java.lang.Runnable) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:java.lang.Runnable BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:runStatic visibility:public modality:OPEN <> (r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - r: GET_VAR 'VALUE_PARAMETER name:a index:0 type:java.lang.Runnable flags:[]' type=java.lang.Runnable origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:runIt visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.J flags:[]' type=.J origin=null - r: GET_VAR 'VALUE_PARAMETER name:a index:0 type:java.lang.Runnable flags:[]' type=java.lang.Runnable origin=null - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + CALL 'public open fun runStatic (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + r: GET_VAR 'a: java.lang.Runnable declared in .test0' type=java.lang.Runnable origin=null + CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR ': .J declared in .test0' type=.J origin=null + r: GET_VAR 'a: java.lang.Runnable declared in .test0' type=java.lang.Runnable origin=null + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:runStatic visibility:public modality:OPEN <> (r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + CALL 'public open fun runStatic (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - CALL 'FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test2 visibility:public modality:FINAL <> ($receiver:.J) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.J flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' + CALL 'public final fun test1 (): kotlin.Unit declared in ' type=kotlin.Unit origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test1' type=kotlin.Function0 origin=LAMBDA + FUN name:test2 visibility:public modality:FINAL <> ($receiver:.J) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.J BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:runIt visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.J flags:[]' type=.J origin=null + CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR ': .J declared in .test2' type=.J origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - CALL 'FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test3 visibility:public modality:FINAL <> ($receiver:.J, a:kotlin.Function0) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.J flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' + CALL 'public final fun test1 (): kotlin.Unit declared in ' type=kotlin.Unit origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test2' type=kotlin.Function0 origin=LAMBDA + FUN name:test3 visibility:public modality:FINAL <> ($receiver:.J, a:kotlin.Function0) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run2 visibility:public modality:OPEN <> ($this:.J, r1:java.lang.Runnable?, r2:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.J flags:[]' type=.J origin=null + CALL 'public open fun run2 (r1: java.lang.Runnable?, r2: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR ': .J declared in .test3' type=.J origin=null r1: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test3' type=kotlin.Function0 origin=null r2: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - FUN name:test4 visibility:public modality:FINAL <> ($receiver:.J, a:kotlin.Function0, b:kotlin.Function0, flag:kotlin.Boolean) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.J flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Function0 flags:[] - VALUE_PARAMETER name:flag index:2 type:kotlin.Boolean flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test3' type=kotlin.Function0 origin=null + FUN name:test4 visibility:public modality:FINAL <> ($receiver:.J, a:kotlin.Function0, b:kotlin.Function0, flag:kotlin.Boolean) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 + VALUE_PARAMETER name:b index:1 type:kotlin.Function0 + VALUE_PARAMETER name:flag index:2 type:kotlin.Boolean BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:runIt visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:.J flags:[]' type=.J origin=null + CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR ': .J declared in .test4' type=.J origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] WHEN type=kotlin.Function0 origin=IF BRANCH - if: GET_VAR 'VALUE_PARAMETER name:flag index:2 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - then: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + if: GET_VAR 'flag: kotlin.Boolean declared in .test4' type=kotlin.Boolean origin=null + then: GET_VAR 'a: kotlin.Function0 declared in .test4' type=kotlin.Function0 origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + then: GET_VAR 'b: kotlin.Function0 declared in .test4' type=kotlin.Function0 origin=null diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.txt b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.txt index 9e5e8e452dd..10e60582b37 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.txt @@ -1,143 +1,143 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test1' type=kotlin.Function0 origin=null then: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:runStatic visibility:public modality:OPEN <> (r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + CALL 'public open fun runStatic (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null r: TYPE_OP type=java.lang.Runnable origin=IMPLICIT_CAST typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test1' type=kotlin.Function0 origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test2' type=kotlin.Function0 origin=null then: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run1 visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + CALL 'public open fun run1 (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r: TYPE_OP type=java.lang.Runnable origin=IMPLICIT_CAST typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test2' type=kotlin.Function0 origin=null + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test3' type=kotlin.Function0 origin=null then: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run2 visibility:public modality:OPEN <> ($this:.J, r1:java.lang.Runnable?, r2:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + CALL 'public open fun run2 (r1: java.lang.Runnable?, r2: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r1: TYPE_OP type=java.lang.Runnable origin=IMPLICIT_CAST typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test3' type=kotlin.Function0 origin=null r2: TYPE_OP type=java.lang.Runnable origin=IMPLICIT_CAST typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0, b:kotlin.Function0) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Function0 flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test3' type=kotlin.Function0 origin=null + FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0, b:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 + VALUE_PARAMETER name:b index:1 type:kotlin.Function0 BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test4' type=kotlin.Function0 origin=null then: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run2 visibility:public modality:OPEN <> ($this:.J, r1:java.lang.Runnable?, r2:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + CALL 'public open fun run2 (r1: java.lang.Runnable?, r2: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r1: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Function0 declared in .test4' type=kotlin.Function0 origin=null r2: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - FUN name:test5 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'b: kotlin.Function0 declared in .test4' type=kotlin.Function0 origin=null + FUN name:test5 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Any declared in .test5' type=kotlin.Any origin=null then: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run1 visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + CALL 'public open fun run1 (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r: TYPE_OP type=java.lang.Runnable origin=IMPLICIT_CAST typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test5x visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Any declared in .test5' type=kotlin.Any origin=null + FUN name:test5x visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Any declared in .test5x' type=kotlin.Any origin=null then: BLOCK type=kotlin.Unit origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] TYPE_OP type=kotlin.Function0 origin=CAST typeOperand=kotlin.Function0 - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Function] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run1 visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public superTypes:[kotlin.Function] + GET_VAR 'a: kotlin.Any declared in .test5x' type=kotlin.Any origin=null + CALL 'public open fun run1 (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r: TYPE_OP type=java.lang.Runnable origin=IMPLICIT_CAST typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test6 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'a: kotlin.Any declared in .test5x' type=kotlin.Any origin=null + FUN name:test6 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] TYPE_OP type=kotlin.Function0 origin=CAST typeOperand=kotlin.Function0 - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Function] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run1 visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public superTypes:[kotlin.Function] + GET_VAR 'a: kotlin.Any declared in .test6' type=kotlin.Any origin=null + CALL 'public open fun run1 (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] TYPE_OP type=kotlin.Function0 origin=IMPLICIT_CAST typeOperand=kotlin.Function0 - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Function] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test7 visibility:public modality:FINAL <> (a:kotlin.Function1) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function1 flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public superTypes:[kotlin.Function] + GET_VAR 'a: kotlin.Any declared in .test6' type=kotlin.Any origin=null + FUN name:test7 visibility:public modality:FINAL <> (a:kotlin.Function1) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Function1 BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] TYPE_OP type=kotlin.Function0 origin=CAST typeOperand=kotlin.Function0 - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Function] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function1 flags:[]' type=kotlin.Function1 origin=null - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run1 visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public superTypes:[kotlin.Function] + GET_VAR 'a: kotlin.Function1 declared in .test7' type=kotlin.Function1 origin=null + CALL 'public open fun run1 (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] TYPE_OP type=kotlin.Function0 origin=IMPLICIT_CAST typeOperand=kotlin.Function0 - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Function] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function1 flags:[]' type=kotlin.Function1 origin=null - FUN name:test8 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Function0 modality:ABSTRACT visibility:public superTypes:[kotlin.Function] + GET_VAR 'a: kotlin.Function1 declared in .test7' type=kotlin.Function1 origin=null + FUN name:test8 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run1 visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + CALL 'public open fun run1 (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:id visibility:public modality:OPEN (x:.J.id.T?) returnType:.J.id.T? flags:[]' type=kotlin.Function0? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + CALL 'public open fun id (x: T of .J.id?): T of .J.id? declared in .J' type=kotlin.Function0? origin=null : kotlin.Function0? - x: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - FUN name:test9 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + x: GET_VAR 'a: kotlin.Function0 declared in .test8' type=kotlin.Function0 origin=null + FUN name:test9 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run1 visibility:public modality:OPEN <> ($this:.J, r:java.lang.Runnable?) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' type=.J origin=null + CALL 'public open fun run1 (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: CALL 'public constructor () [primary] declared in .J' type=.J origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - FUNCTION_REFERENCE 'FUN name:test9 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KFunction0 origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + FUNCTION_REFERENCE 'public final fun test9 (): kotlin.Unit declared in ' type=kotlin.reflect.KFunction0 origin=null diff --git a/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt b/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt index 0d0ba18ecd0..6b347f98fb5 100644 --- a/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt +++ b/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt @@ -1,39 +1,39 @@ FILE fqName: fileName:/Derived.kt - CLASS CLASS name:Derived modality:FINAL visibility:public flags:[] superTypes:[.Base] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Derived flags:[primary] + CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived + CONSTRUCTOR visibility:public <> () returnType:.Derived [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.Base flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public flags:[] superTypes:[.Base]' - FUN name:setValue visibility:public modality:FINAL <> ($this:.Derived, v:kotlin.Any) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Derived flags:[] - VALUE_PARAMETER name:v index:0 type:kotlin.Any flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Base' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[.Base]' + FUN name:setValue visibility:public modality:FINAL <> ($this:.Derived, v:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Derived + VALUE_PARAMETER name:v index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:v index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'v: kotlin.Any declared in .Derived.setValue' type=kotlin.Any origin=null then: BLOCK type=kotlin.Unit origin=null - SET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.String? visibility:public flags:[]' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Derived flags:[]' type=.Derived origin=null + SET_FIELD 'FIELD FAKE_OVERRIDE name:value type:kotlin.String? visibility:public ' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .Derived declared in .Derived.setValue' type=.Derived origin=null value: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:v index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL flags:[var] - FIELD FAKE_OVERRIDE name:value type:kotlin.String? visibility:public flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'v: kotlin.Any declared in .Derived.setValue' type=kotlin.Any origin=null + PROPERTY FAKE_OVERRIDE name:value visibility:public modality:FINAL [var] + FIELD FAKE_OVERRIDE name:value type:kotlin.String? visibility:public overridden: - FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:value type:kotlin.String? visibility:public flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:value type:kotlin.String? visibility:public + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_annotation.txt b/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_annotation.txt index c7ef90616bb..ea4f59d6fcf 100644 --- a/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_annotation.txt +++ b/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_annotation.txt @@ -1,17 +1,17 @@ FILE fqName:kotlin.internal fileName:/signedToUnsignedConversions_annotation.kt - CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:kotlin.internal.ImplicitIntegerCoercion flags:[] - CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:FINAL visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:kotlin.internal.ImplicitIntegerCoercion + CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion [primary] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_test.txt b/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_test.txt index 54477672434..6f42bf6c76f 100644 --- a/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_test.txt +++ b/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_test.txt @@ -1,136 +1,136 @@ FILE fqName: fileName:/signedToUnsignedConversions_test.kt - PROPERTY name:IMPLICIT_INT visibility:public modality:FINAL flags:[const,val] + PROPERTY name:IMPLICIT_INT visibility:public modality:FINAL [const,val] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:IMPLICIT_INT type:kotlin.Int visibility:public flags:[final,static] + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null + FIELD PROPERTY_BACKING_FIELD name:IMPLICIT_INT type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=255 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:IMPLICIT_INT visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:IMPLICIT_INT visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:IMPLICIT_INT type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:EXPLICIT_INT visibility:public modality:FINAL flags:[const,val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:IMPLICIT_INT type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:EXPLICIT_INT visibility:public modality:FINAL [const,val] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:EXPLICIT_INT type:kotlin.Int visibility:public flags:[final,static] + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null + FIELD PROPERTY_BACKING_FIELD name:EXPLICIT_INT type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=255 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:EXPLICIT_INT visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:EXPLICIT_INT visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:EXPLICIT_INT type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:LONG_CONST visibility:public modality:FINAL flags:[const,val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:EXPLICIT_INT type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:LONG_CONST visibility:public modality:FINAL [const,val] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:LONG_CONST type:kotlin.Long visibility:public flags:[final,static] + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null + FIELD PROPERTY_BACKING_FIELD name:LONG_CONST type:kotlin.Long visibility:public [final,static] EXPRESSION_BODY CONST Long type=kotlin.Long value=255 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[] - correspondingProperty: PROPERTY name:LONG_CONST visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long + correspondingProperty: PROPERTY name:LONG_CONST visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Long flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:LONG_CONST type:kotlin.Long visibility:public flags:[final,static]' type=kotlin.Long origin=null - PROPERTY name:NON_CONST visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Long declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:LONG_CONST type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null + PROPERTY name:NON_CONST visibility:public modality:FINAL [val] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:NON_CONST type:kotlin.Int visibility:public flags:[final,static] + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null + FIELD PROPERTY_BACKING_FIELD name:NON_CONST type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=255 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:NON_CONST visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:NON_CONST visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:NON_CONST type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:BIGGER_THAN_UBYTE visibility:public modality:FINAL flags:[const,val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:NON_CONST type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:BIGGER_THAN_UBYTE visibility:public modality:FINAL [const,val] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:BIGGER_THAN_UBYTE type:kotlin.Int visibility:public flags:[final,static] + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null + FIELD PROPERTY_BACKING_FIELD name:BIGGER_THAN_UBYTE type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=256 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:BIGGER_THAN_UBYTE visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:BIGGER_THAN_UBYTE visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:BIGGER_THAN_UBYTE type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:UINT_CONST visibility:public modality:FINAL flags:[const,val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:BIGGER_THAN_UBYTE type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:UINT_CONST visibility:public modality:FINAL [const,val] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:UINT_CONST type:kotlin.UInt visibility:public flags:[final,static] + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null + FIELD PROPERTY_BACKING_FIELD name:UINT_CONST type:kotlin.UInt visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.UInt value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[] - correspondingProperty: PROPERTY name:UINT_CONST visibility:public modality:FINAL flags:[const,val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt + correspondingProperty: PROPERTY name:UINT_CONST visibility:public modality:FINAL [const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:UINT_CONST type:kotlin.UInt visibility:public flags:[final,static]' type=kotlin.UInt origin=null - FUN name:takeUByte visibility:public modality:FINAL <> (u:kotlin.UByte) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:u index:0 type:kotlin.UByte flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UInt declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:UINT_CONST type:kotlin.UInt visibility:public [final,static] ' type=kotlin.UInt origin=null + FUN name:takeUByte visibility:public modality:FINAL <> (u:kotlin.UByte) returnType:kotlin.Unit + VALUE_PARAMETER name:u index:0 type:kotlin.UByte annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null BLOCK_BODY - FUN name:takeUShort visibility:public modality:FINAL <> (u:kotlin.UShort) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:u index:0 type:kotlin.UShort flags:[] + FUN name:takeUShort visibility:public modality:FINAL <> (u:kotlin.UShort) returnType:kotlin.Unit + VALUE_PARAMETER name:u index:0 type:kotlin.UShort annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null BLOCK_BODY - FUN name:takeUInt visibility:public modality:FINAL <> (u:kotlin.UInt) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:u index:0 type:kotlin.UInt flags:[] + FUN name:takeUInt visibility:public modality:FINAL <> (u:kotlin.UInt) returnType:kotlin.Unit + VALUE_PARAMETER name:u index:0 type:kotlin.UInt annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null BLOCK_BODY - FUN name:takeULong visibility:public modality:FINAL <> (u:kotlin.ULong) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:u index:0 type:kotlin.ULong flags:[] + FUN name:takeULong visibility:public modality:FINAL <> (u:kotlin.ULong) returnType:kotlin.Unit + VALUE_PARAMETER name:u index:0 type:kotlin.ULong annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null BLOCK_BODY - FUN name:takeUBytes visibility:public modality:FINAL <> (u:kotlin.UByteArray) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:u index:0 type:kotlin.UByteArray varargElementType:kotlin.UByte flags:[vararg] + FUN name:takeUBytes visibility:public modality:FINAL <> (u:kotlin.UByteArray) returnType:kotlin.Unit + VALUE_PARAMETER name:u index:0 type:kotlin.UByteArray varargElementType:kotlin.UByte [vararg] annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null BLOCK_BODY - FUN name:takeLong visibility:public modality:FINAL <> (l:kotlin.Long) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:l index:0 type:kotlin.Long flags:[] + FUN name:takeLong visibility:public modality:FINAL <> (l:kotlin.Long) returnType:kotlin.Unit + VALUE_PARAMETER name:l index:0 type:kotlin.Long annotations: - CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'public constructor () [primary] declared in kotlin.internal.ImplicitIntegerCoercion' type=kotlin.internal.ImplicitIntegerCoercion origin=null BLOCK_BODY - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN name:takeUByte visibility:public modality:FINAL <> (u:kotlin.UByte) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + CALL 'public final fun takeUByte (u: kotlin.UByte): kotlin.Unit declared in ' type=kotlin.Unit origin=null u: TYPE_OP type=kotlin.UByte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.UByte - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - CALL 'FUN name:takeUByte visibility:public modality:FINAL <> (u:kotlin.UByte) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + CALL 'public final fun takeUByte (u: kotlin.UByte): kotlin.Unit declared in ' type=kotlin.Unit origin=null u: TYPE_OP type=kotlin.UByte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.UByte - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - CALL 'FUN name:takeUShort visibility:public modality:FINAL <> (u:kotlin.UShort) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + CALL 'public final fun takeUShort (u: kotlin.UShort): kotlin.Unit declared in ' type=kotlin.Unit origin=null u: TYPE_OP type=kotlin.UShort origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.UShort - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UShort modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - CALL 'FUN name:takeUShort visibility:public modality:FINAL <> (u:kotlin.UShort) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UShort modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + CALL 'public final fun takeUShort (u: kotlin.UShort): kotlin.Unit declared in ' type=kotlin.Unit origin=null u: TYPE_OP type=kotlin.UShort origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.UShort - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UShort modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - CALL 'FUN name:takeUInt visibility:public modality:FINAL <> (u:kotlin.UInt) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UShort modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + CALL 'public final fun takeUInt (u: kotlin.UInt): kotlin.Unit declared in ' type=kotlin.Unit origin=null u: TYPE_OP type=kotlin.UInt origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.UInt - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UInt modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - CALL 'FUN name:takeULong visibility:public modality:FINAL <> (u:kotlin.ULong) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UInt modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + CALL 'public final fun takeULong (u: kotlin.ULong): kotlin.Unit declared in ' type=kotlin.Unit origin=null u: TYPE_OP type=kotlin.ULong origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.ULong - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:ULong modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - CALL 'FUN name:takeUBytes visibility:public modality:FINAL <> (u:kotlin.UByteArray) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:ULong modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + CALL 'public final fun takeUBytes (vararg u: kotlin.UByte): kotlin.Unit declared in ' type=kotlin.Unit origin=null u: VARARG type=kotlin.UByteArray varargElementType=kotlin.UByte TYPE_OP type=kotlin.UByte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.UByte - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY TYPE_OP type=kotlin.UByte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.UByte - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public flags:[inline] superTypes:[kotlin.Comparable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:UByte modality:FINAL visibility:public [inline] superTypes:[kotlin.Comparable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY CONST Byte type=kotlin.UByte value=42 - CALL 'FUN name:takeLong visibility:public modality:FINAL <> (l:kotlin.Long) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + CALL 'public final fun takeLong (l: kotlin.Long): kotlin.Unit declared in ' type=kotlin.Unit origin=null l: TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY diff --git a/compiler/testData/ir/irText/expressions/simpleOperators.txt b/compiler/testData/ir/irText/expressions/simpleOperators.txt index cb761e2b549..9440138243c 100644 --- a/compiler/testData/ir/irText/expressions/simpleOperators.txt +++ b/compiler/testData/ir/irText/expressions/simpleOperators.txt @@ -1,89 +1,89 @@ FILE fqName: fileName:/simpleOperators.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'a: kotlin.Int declared in .test1' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test1' type=kotlin.Int origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MINUS - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUS + $this: GET_VAR 'a: kotlin.Int declared in .test2' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test2' type=kotlin.Int origin=null + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=MUL - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MUL + $this: GET_VAR 'a: kotlin.Int declared in .test3' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test3' type=kotlin.Int origin=null + FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=DIV - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test5 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test4 (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIV + $this: GET_VAR 'a: kotlin.Int declared in .test4' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test4' type=kotlin.Int origin=null + FUN name:test5 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERC - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test6 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test5 (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERC + $this: GET_VAR 'a: kotlin.Int declared in .test5' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test5' type=kotlin.Int origin=null + FUN name:test6 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.ranges.IntRange + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' type=kotlin.ranges.IntRange origin=RANGE - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test1x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test6 (a: kotlin.Int, b: kotlin.Int): kotlin.ranges.IntRange declared in ' + CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE + $this: GET_VAR 'a: kotlin.Int declared in .test6' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test6' type=kotlin.Int origin=null + FUN name:test1x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test2x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test1x (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Int declared in .test1x' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test1x' type=kotlin.Int origin=null + FUN name:test2x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test3x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test2x (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Int declared in .test2x' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test2x' type=kotlin.Int origin=null + FUN name:test3x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test4x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test3x (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Int declared in .test3x' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test3x' type=kotlin.Int origin=null + FUN name:test4x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test5x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test4x (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Int declared in .test4x' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test4x' type=kotlin.Int origin=null + FUN name:test5x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5x visibility:public modality:FINAL <> (a:kotlin.Int, b:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun test5x (a: kotlin.Int, b: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'a: kotlin.Int declared in .test5x' type=kotlin.Int origin=null + other: GET_VAR 'b: kotlin.Int declared in .test5x' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt b/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt index 5efbbf2eb4c..c3d8f0f3c5a 100644 --- a/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt +++ b/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt @@ -1,31 +1,31 @@ FILE fqName: fileName:/simpleUnaryOperators.kt - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=UMINUS - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=UMINUS + $this: GET_VAR 'x: kotlin.Int declared in .test1' type=kotlin.Int origin=null + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=-42 - FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryPlus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=UPLUS - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun unaryPlus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=UPLUS + $this: GET_VAR 'x: kotlin.Int declared in .test3' type=kotlin.Int origin=null + FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test4 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 - FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Boolean) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Boolean flags:[] + FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Boolean) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Boolean BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:not visibility:public modality:FINAL <> ($this:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCL - $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - FUN name:test6 visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun test5 (x: kotlin.Boolean): kotlin.Boolean declared in ' + CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCL + $this: GET_VAR 'x: kotlin.Boolean declared in .test5' type=kotlin.Boolean origin=null + FUN name:test6 visibility:public modality:FINAL <> () returnType:kotlin.Boolean BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test6 (): kotlin.Boolean declared in ' CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/smartCasts.txt b/compiler/testData/ir/irText/expressions/smartCasts.txt index 11a1badb8d3..e3371b2f318 100644 --- a/compiler/testData/ir/irText/expressions/smartCasts.txt +++ b/compiler/testData/ir/irText/expressions/smartCasts.txt @@ -1,75 +1,75 @@ FILE fqName: fileName:/smartCasts.kt - FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - FUN name:expectsInt visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + FUN name:expectsInt visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:i index:0 type:kotlin.Int BLOCK_BODY - FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[]' - GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - FUN name:overloaded visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun overloaded (s: kotlin.String): kotlin.String declared in ' + GET_VAR 's: kotlin.String declared in .overloaded' type=kotlin.String origin=null + FUN name:overloaded visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:overloaded visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[]' - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun overloaded (x: kotlin.Any): kotlin.Any declared in ' + GET_VAR 'x: kotlin.Any declared in .overloaded' type=kotlin.Any origin=null + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Any): kotlin.Unit declared in ' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + CALL 'public final fun println (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - CALL 'FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + CALL 'public final fun expectsString (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=null s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - CALL 'FUN name:expectsInt visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - i: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + CALL 'public final fun expectsInt (i: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null + i: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - CALL 'FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - s: CALL 'FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + CALL 'public final fun expectsString (s: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=null + s: CALL 'public final fun overloaded (s: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test2' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.Any): kotlin.String declared in ' CONST String type=kotlin.String value="" - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]' - CALL 'FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.Any): kotlin.String declared in ' + CALL 'public final fun overloaded (s: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test2' type=kotlin.Any origin=null + FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]' + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Any): kotlin.String declared in ' CONST String type=kotlin.String value="" - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Any): kotlin.String declared in ' TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null diff --git a/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt b/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt index 8be202b705c..e000e414dd3 100644 --- a/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt +++ b/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt @@ -1,62 +1,62 @@ FILE fqName: fileName:/smartCastsWithDestructuring.kt - CLASS INTERFACE name:I1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:I1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:component1 visibility:public modality:FINAL <> ($receiver:.I1) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.I1 flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:component1 visibility:public modality:FINAL <> ($receiver:.I1) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.I1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:component1 visibility:public modality:FINAL <> ($receiver:.I1) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - FUN name:component2 visibility:public modality:FINAL <> ($receiver:.I2) returnType:kotlin.String flags:[] - $receiver: VALUE_PARAMETER name: type:.I2 flags:[] + FUN name:component2 visibility:public modality:FINAL <> ($receiver:.I2) returnType:kotlin.String + $receiver: VALUE_PARAMETER name: type:.I2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:component2 visibility:public modality:FINAL <> ($receiver:.I2) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.String declared in ' CONST String type=kotlin.String value="" - FUN name:test visibility:public modality:FINAL <> (x:.I1) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:.I1 flags:[] + FUN name:test visibility:public modality:FINAL <> (x:.I1) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:.I1 BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.I2 - typeOperand: CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.I1 flags:[]' type=.I1 origin=null - then: RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (x:.I1) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit + typeOperand: CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'x: .I1 declared in .test' type=.I1 origin=null + then: RETURN type=kotlin.Nothing from='public final fun test (x: .I1): kotlin.Unit declared in ' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION - VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.I1 flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.I1 flags:[]' type=.I1 origin=null - VAR name:c1 type:kotlin.Int flags:[val] - CALL 'FUN name:component1 visibility:public modality:FINAL <> ($receiver:.I1) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=COMPONENT_N(index=1) - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.I1 flags:[val]' type=.I1 origin=null - VAR name:c2 type:kotlin.String flags:[val] - CALL 'FUN name:component2 visibility:public modality:FINAL <> ($receiver:.I2) returnType:kotlin.String flags:[]' type=kotlin.String origin=COMPONENT_N(index=2) + VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.I1 [val] + GET_VAR 'x: .I1 declared in .test' type=.I1 origin=null + VAR name:c1 type:kotlin.Int [val] + CALL 'public final fun component1 (): kotlin.Int declared in ' type=kotlin.Int origin=COMPONENT_N(index=1) + $receiver: GET_VAR 'val tmp0_container: .I1 [val] declared in .test' type=.I1 origin=null + VAR name:c2 type:kotlin.String [val] + CALL 'public final fun component2 (): kotlin.String declared in ' type=kotlin.String origin=COMPONENT_N(index=2) $receiver: TYPE_OP type=.I2 origin=IMPLICIT_CAST typeOperand=.I2 - typeOperand: CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:.I1 flags:[val]' type=.I1 origin=null + typeOperand: CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'val tmp0_container: .I1 [val] declared in .test' type=.I1 origin=null diff --git a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt index f8b678fdab1..c33b94ef913 100644 --- a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt +++ b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt @@ -1,39 +1,39 @@ FILE fqName: fileName:/specializedTypeAliasConstructorCall.kt - CLASS CLASS name:Cell modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell<.Cell.T> flags:[] + CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell.Cell> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary] - VALUE_PARAMETER name:value index:0 type:.Cell.T flags:[] + CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:.Cell.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .Cell visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:.Cell.T flags:[]' type=.Cell.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell<.Cell.T>) returnType:.Cell.T flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Cell<.Cell.T> flags:[] + GET_VAR 'value: T of .Cell declared in .Cell.' type=T of .Cell origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell.Cell>) returnType:T of .Cell + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Cell.Cell> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell<.Cell.T>) returnType:.Cell.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:.Cell.T visibility:public flags:[final]' type=.Cell.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Cell<.Cell.T> flags:[]' type=.Cell<.Cell.T> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .Cell declared in .Cell' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .Cell visibility:public [final] ' type=T of .Cell origin=null + receiver: GET_VAR ': .Cell.Cell> declared in .Cell.' type=.Cell.Cell> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> () returnType:.Cell flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:.Cell BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:.Cell flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary]' type=.Cell origin=null + RETURN type=kotlin.Nothing from='public final fun test (): .Cell declared in ' + CALL 'public constructor (value: T of .Cell) [primary] declared in .Cell' type=.Cell origin=null : kotlin.Int value: CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irText/expressions/stringComparisons.txt b/compiler/testData/ir/irText/expressions/stringComparisons.txt index a34d224050c..d72c7c198cf 100644 --- a/compiler/testData/ir/irText/expressions/stringComparisons.txt +++ b/compiler/testData/ir/irText/expressions/stringComparisons.txt @@ -1,41 +1,41 @@ FILE fqName: fileName:/stringComparisons.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.String + VALUE_PARAMETER name:b index:1 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.String, other:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GT - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.String, b: kotlin.String): kotlin.Boolean declared in ' + CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT + arg0: CALL 'public open fun compareTo (other: kotlin.String): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GT + $this: GET_VAR 'a: kotlin.String declared in .test1' type=kotlin.String origin=null + other: GET_VAR 'b: kotlin.String declared in .test1' type=kotlin.String origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.String + VALUE_PARAMETER name:b index:1 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.String, other:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LT - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.String, b: kotlin.String): kotlin.Boolean declared in ' + CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'public open fun compareTo (other: kotlin.String): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=LT + $this: GET_VAR 'a: kotlin.String declared in .test2' type=kotlin.String origin=null + other: GET_VAR 'b: kotlin.String declared in .test2' type=kotlin.String origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.String + VALUE_PARAMETER name:b index:1 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:greaterOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.String, other:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GTEQ - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.String, b: kotlin.String): kotlin.Boolean declared in ' + CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: CALL 'public open fun compareTo (other: kotlin.String): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GTEQ + $this: GET_VAR 'a: kotlin.String declared in .test3' type=kotlin.String origin=null + other: GET_VAR 'b: kotlin.String declared in .test3' type=kotlin.String origin=null arg1: CONST Int type=kotlin.Int value=0 - FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] + FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean + VALUE_PARAMETER name:a index:0 type:kotlin.String + VALUE_PARAMETER name:b index:1 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.String) returnType:kotlin.Boolean flags:[]' - CALL 'FUN IR_BUILTINS_STUB name:lessOrEqual visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.String, other:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=LTEQ - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test4 (a: kotlin.String, b: kotlin.String): kotlin.Boolean declared in ' + CALL 'public final fun lessOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: CALL 'public open fun compareTo (other: kotlin.String): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=LTEQ + $this: GET_VAR 'a: kotlin.String declared in .test4' type=kotlin.String origin=null + other: GET_VAR 'b: kotlin.String declared in .test4' type=kotlin.String origin=null arg1: CONST Int type=kotlin.Int value=0 diff --git a/compiler/testData/ir/irText/expressions/stringPlus.txt b/compiler/testData/ir/irText/expressions/stringPlus.txt index 4ca0f270a55..75576363a48 100644 --- a/compiler/testData/ir/irText/expressions/stringPlus.txt +++ b/compiler/testData/ir/irText/expressions/stringPlus.txt @@ -1,33 +1,33 @@ FILE fqName: fileName:/stringPlus.kt - FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Any) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Any) returnType:kotlin.String + VALUE_PARAMETER name:a index:0 type:kotlin.String + VALUE_PARAMETER name:b index:1 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Any) returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Int) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.String, b: kotlin.Any): kotlin.String declared in ' + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: GET_VAR 'a: kotlin.String declared in .test1' type=kotlin.String origin=null + other: GET_VAR 'b: kotlin.Any declared in .test1' type=kotlin.Any origin=null + FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Int) returnType:kotlin.String + VALUE_PARAMETER name:a index:0 type:kotlin.String + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Int) returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.String, b: kotlin.Int): kotlin.String declared in ' + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: GET_VAR 'a: kotlin.String declared in .test2' type=kotlin.String origin=null other: CONST String type=kotlin.String value="+" - other: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Int) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] + other: GET_VAR 'b: kotlin.Int declared in .test2' type=kotlin.Int origin=null + FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Int) returnType:kotlin.String + VALUE_PARAMETER name:a index:0 type:kotlin.String + VALUE_PARAMETER name:b index:1 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.String, b:kotlin.Int) returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS - $this: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun test3 (a: kotlin.String, b: kotlin.Int): kotlin.String declared in ' + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + $this: GET_VAR 'a: kotlin.String declared in .test3' type=kotlin.String origin=null other: CONST String type=kotlin.String value="+" - other: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + other: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'b: kotlin.Int declared in .test3' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=1 - other: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null + other: GET_VAR 'a: kotlin.String declared in .test3' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/stringTemplates.txt b/compiler/testData/ir/irText/expressions/stringTemplates.txt index e6ad2d0df02..e14b5dcd5ac 100644 --- a/compiler/testData/ir/irText/expressions/stringTemplates.txt +++ b/compiler/testData/ir/irText/expressions/stringTemplates.txt @@ -1,101 +1,101 @@ FILE fqName: fileName:/stringTemplates.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String declared in ' CONST String type=kotlin.String value="" - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="abc" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="abc" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test5 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test5 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY CONST String type=kotlin.String value="\nabc\n" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test6 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY CONST String type=kotlin.String value=" " - CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] + CALL 'public final fun foo (): kotlin.String declared in ' type=kotlin.String origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test7 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test7 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL flags:[val] + CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test8 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test8 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[val] + CALL 'public final fun foo (): kotlin.String declared in ' type=kotlin.String origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null - PROPERTY name:test9 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.String visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null + PROPERTY name:test9 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.String visibility:public [final,static] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY name:test9 visibility:public modality:FINAL flags:[val] + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String + correspondingProperty: PROPERTY name:test9 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.String visibility:public [final,static] ' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt b/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt index 4038e3ffae2..c406a64522e 100644 --- a/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt +++ b/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt @@ -1,91 +1,91 @@ FILE fqName: fileName:/temporaryInEnumEntryInitializer.kt - PROPERTY name:n visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:n type:kotlin.Any? visibility:public flags:[final,static] + PROPERTY name:n visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:n type:kotlin.Any? visibility:public [final,static] EXPRESSION_BODY CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[] - correspondingProperty: PROPERTY name:n visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? + correspondingProperty: PROPERTY name:n visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:n type:kotlin.Any? visibility:public flags:[final,static]' type=kotlin.Any? origin=null - CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.En flags:[] - CONSTRUCTOR visibility:private <> (x:kotlin.String?) returnType:.En flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:n type:kotlin.Any? visibility:public [final,static] ' type=kotlin.Any? origin=null + CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<.En>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.En + CONSTRUCTOR visibility:private <> (x:kotlin.String?) returnType:.En [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.String? BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .En - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String? visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<.En>]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String? visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.En) returnType:kotlin.String? flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.En flags:[] + GET_VAR 'x: kotlin.String? declared in .En.' type=kotlin.String? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.En) returnType:kotlin.String? + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.En BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.En) returnType:kotlin.String? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String? visibility:public flags:[final]' type=kotlin.String? origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.En flags:[]' type=.En origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in .En' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String? visibility:public [final] ' type=kotlin.String? origin=null + receiver: GET_VAR ': .En declared in .En.' type=.En origin=null ENUM_ENTRY name:ENTRY - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.String?) returnType:.En flags:[primary]' + init: ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.String?) [primary] declared in .En' x: BLOCK type=kotlin.String? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[]' type=kotlin.Any? origin=GET_PROPERTY + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + CALL 'public final fun (): kotlin.Any? declared in ' type=kotlin.Any? origin=GET_PROPERTY WHEN type=kotlin.String? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .En' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Any flags:[] + then: CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String origin=null + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .En' type=kotlin.Any? origin=null + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:java.lang.Class<.En?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:java.lang.Class<.En?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:.En) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:.En) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - VALUE_PARAMETER name:other index:0 type:.En flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + VALUE_PARAMETER name:other index:0 type:.En + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.En>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.En>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.En>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.En> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.En> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.En + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/expressions/temporaryInInitBlock.txt b/compiler/testData/ir/irText/expressions/temporaryInInitBlock.txt index 65961c2c7d9..18001b371a1 100644 --- a/compiler/testData/ir/irText/expressions/temporaryInInitBlock.txt +++ b/compiler/testData/ir/irText/expressions/temporaryInInitBlock.txt @@ -1,47 +1,47 @@ FILE fqName: fileName:/temporaryInInitBlock.kt - CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Any?) returnType:.C flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> (x:kotlin.Any?) returnType:.C [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Any? BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:s visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String? visibility:public flags:[final] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String? flags:[] - correspondingProperty: PROPERTY name:s visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:s visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String? visibility:public [final] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String? + correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String? visibility:public flags:[final]' type=kotlin.String? origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String? visibility:public [final] ' type=kotlin.String? origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String? visibility:public flags:[final]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[]' type=.C origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String? visibility:public [final] ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C' type=.C origin=null value: BLOCK type=kotlin.String? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? [val] + GET_VAR 'x: kotlin.Any? declared in .C.' type=kotlin.Any? origin=null WHEN type=kotlin.String? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .C' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + then: CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String origin=null + $this: GET_VAR 'val tmp0_safe_receiver: kotlin.Any? [val] declared in .C' type=kotlin.Any? origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt index 9414f070320..cf5c1987f78 100644 --- a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt +++ b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt @@ -1,113 +1,113 @@ FILE fqName: fileName:/thisOfGenericOuterClass.kt - CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer<.Outer.T> flags:[] + CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:.Outer.T) returnType:.Outer<.Outer.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Outer.T flags:[] + CONSTRUCTOR visibility:public <> (x:T of .Outer) returnType:.Outer.Outer> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Outer BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.Outer.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:T of .Outer visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Outer.T flags:[]' type=.Outer.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer<.Outer.T>) returnType:.Outer.T flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Outer<.Outer.T> flags:[] + GET_VAR 'x: T of .Outer declared in .Outer.' type=T of .Outer origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Outer>) returnType:T of .Outer + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Outer.Outer> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer<.Outer.T>) returnType:.Outer.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Outer.T visibility:public flags:[final]' type=.Outer.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Outer<.Outer.T> flags:[]' type=.Outer<.Outer.T> origin=null - CLASS CLASS name:Inner modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner<.Outer.T> flags:[] - CONSTRUCTOR visibility:public <> ($this:.Outer<.Outer.T>, y:kotlin.Int) returnType:.Outer.Inner<.Outer.T> flags:[primary] - $outer: VALUE_PARAMETER name: type:.Outer<.Outer.T> flags:[] - VALUE_PARAMETER name:y index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .Outer declared in .Outer' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Outer visibility:public [final] ' type=T of .Outer origin=null + receiver: GET_VAR ': .Outer.Outer> declared in .Outer.' type=.Outer.Outer> origin=null + CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Outer> + CONSTRUCTOR visibility:public <> ($this:.Outer.Outer>, y:kotlin.Int) returnType:.Outer.Inner.Outer> [primary] + $outer: VALUE_PARAMETER name: type:.Outer.Outer> + VALUE_PARAMETER name:y index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public flags:[inner] superTypes:[kotlin.Any]' - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]' + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner<.Outer.T>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Outer.Inner<.Outer.T> flags:[] + GET_VAR 'y: kotlin.Int declared in .Outer.Inner.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner.Outer>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Outer.Inner.Outer> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner<.Outer.T>) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Outer.Inner<.Outer.T> flags:[]' type=.Outer.Inner<.Outer.T> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Outer.Inner' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .Outer.Inner.Outer> declared in .Outer.Inner.' type=.Outer.Inner.Outer> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner flags:[] - $receiver: VALUE_PARAMETER name: type:.Outer flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner + $receiver: VALUE_PARAMETER name: type:.Outer BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (): .Outer.Inner declared in ' BLOCK type=.test. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.test. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test. + CONSTRUCTOR visibility:public <> () returnType:.test. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> ($this:.Outer<.Outer.T>, y:kotlin.Int) returnType:.Outer.Inner<.Outer.T> flags:[primary]' - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null + DELEGATING_CONSTRUCTOR_CALL 'public constructor (y: kotlin.Int) [primary] declared in .Outer.Inner' + $this: GET_VAR ': .Outer declared in .test' type=.Outer origin=null y: CONST Int type=kotlin.Int value=42 - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.Outer.Inner]' - PROPERTY name:xx visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public flags:[final] + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Outer.Inner]' + PROPERTY name:xx visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public [final] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer<.Outer.T>) returnType:.Outer.T flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Outer flags:[]' type=.Outer origin=null - other: CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test. flags:[]' type=.test. origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.test.) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.test. flags:[] + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: CALL 'public final fun (): T of .Outer declared in .Outer' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Outer declared in .test' type=.Outer origin=null + other: CALL 'public final fun (): kotlin.Int declared in .test.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .test. declared in .test.' type=.test. origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.test.) returnType:kotlin.Int + correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.test. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.test.) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.test. flags:[]' type=.test. origin=null - PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .test.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:xx type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .test. declared in .test..' type=.test. origin=null + PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:y visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner<.Outer.T>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.Outer.Inner flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner.Outer>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.Outer.Inner + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.test. flags:[primary]' type=.test. origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .test.' type=.test. origin=OBJECT_LITERAL diff --git a/compiler/testData/ir/irText/expressions/thisReferenceBeforeClassDeclared.txt b/compiler/testData/ir/irText/expressions/thisReferenceBeforeClassDeclared.txt index d129fe09f88..2a73590c5c7 100644 --- a/compiler/testData/ir/irText/expressions/thisReferenceBeforeClassDeclared.txt +++ b/compiler/testData/ir/irText/expressions/thisReferenceBeforeClassDeclared.txt @@ -1,95 +1,95 @@ FILE fqName: fileName:/thisReferenceBeforeClassDeclared.kt - FUN name:test visibility:public modality:FINAL <> ($receiver:.WithCompanion) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:.WithCompanion flags:[] + FUN name:test visibility:public modality:FINAL <> ($receiver:.WithCompanion) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.WithCompanion BLOCK_BODY - VAR name:test1 type:.test. flags:[val] + VAR name:test1 type:.test. [val] BLOCK type=.test. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.WithCompanion] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.test. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.WithCompanion] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test. + CONSTRUCTOR visibility:public <> () returnType:.test. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (a:.WithCompanion.Companion) returnType:.WithCompanion flags:[primary]' - a: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' type=.WithCompanion.Companion - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.WithCompanion]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor (a: .WithCompanion.Companion) [primary] declared in .WithCompanion' + a: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.WithCompanion.Companion + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.WithCompanion]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.test. flags:[primary]' type=.test. origin=OBJECT_LITERAL - VAR name:test2 type:.test. flags:[val] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .test.' type=.test. origin=OBJECT_LITERAL + VAR name:test2 type:.test. [val] BLOCK type=.test. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.WithCompanion] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test. flags:[] - CONSTRUCTOR visibility:public <> () returnType:.test. flags:[primary] + CLASS CLASS name: modality:FINAL visibility:local superTypes:[.WithCompanion] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.test. + CONSTRUCTOR visibility:public <> () returnType:.test. [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (a:.WithCompanion.Companion) returnType:.WithCompanion flags:[primary]' - a: CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.WithCompanion.Companion) returnType:.WithCompanion.Companion flags:[]' type=.WithCompanion.Companion origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' type=.WithCompanion.Companion - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[.WithCompanion]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor (a: .WithCompanion.Companion) [primary] declared in .WithCompanion' + a: CALL 'public final fun foo (): .WithCompanion.Companion declared in .WithCompanion.Companion' type=.WithCompanion.Companion origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.WithCompanion.Companion + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.WithCompanion]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.test. flags:[primary]' type=.test. origin=OBJECT_LITERAL - CLASS CLASS name:WithCompanion modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.WithCompanion flags:[] - CONSTRUCTOR visibility:public <> (a:.WithCompanion.Companion) returnType:.WithCompanion flags:[primary] - VALUE_PARAMETER name:a index:0 type:.WithCompanion.Companion flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CALL 'public constructor () [primary] declared in .test.' type=.test. origin=OBJECT_LITERAL + CLASS CLASS name:WithCompanion modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.WithCompanion + CONSTRUCTOR visibility:public <> (a:.WithCompanion.Companion) returnType:.WithCompanion [primary] + VALUE_PARAMETER name:a index:0 type:.WithCompanion.Companion BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:WithCompanion modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.WithCompanion.Companion flags:[] - CONSTRUCTOR visibility:private <> () returnType:.WithCompanion.Companion flags:[primary] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:WithCompanion modality:OPEN visibility:public superTypes:[kotlin.Any]' + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.WithCompanion.Companion + CONSTRUCTOR visibility:private <> () returnType:.WithCompanion.Companion [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' - FUN name:foo visibility:public modality:FINAL <> ($this:.WithCompanion.Companion) returnType:.WithCompanion.Companion flags:[] - $this: VALUE_PARAMETER name: type:.WithCompanion.Companion flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN name:foo visibility:public modality:FINAL <> ($this:.WithCompanion.Companion) returnType:.WithCompanion.Companion + $this: VALUE_PARAMETER name: type:.WithCompanion.Companion BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($this:.WithCompanion.Companion) returnType:.WithCompanion.Companion flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:.WithCompanion.Companion flags:[]' type=.WithCompanion.Companion origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun foo (): .WithCompanion.Companion declared in .WithCompanion.Companion' + GET_VAR ': .WithCompanion.Companion declared in .WithCompanion.Companion.foo' type=.WithCompanion.Companion origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/throw.txt b/compiler/testData/ir/irText/expressions/throw.txt index 866badb43dd..c2650daa009 100644 --- a/compiler/testData/ir/irText/expressions/throw.txt +++ b/compiler/testData/ir/irText/expressions/throw.txt @@ -1,18 +1,18 @@ FILE fqName: fileName:/throw.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY THROW type=kotlin.Nothing - CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Throwable flags:[]' type=kotlin.Throwable origin=null - FUN name:testImplicitCast visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + CALL 'public constructor () declared in kotlin.Throwable' type=kotlin.Throwable origin=null + FUN name:testImplicitCast visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Throwable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Throwable modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Throwable modality:OPEN visibility:public superTypes:[kotlin.Any; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testImplicitCast' type=kotlin.Any origin=null then: BLOCK type=kotlin.Nothing origin=null THROW type=kotlin.Nothing TYPE_OP type=kotlin.Throwable origin=IMPLICIT_CAST typeOperand=kotlin.Throwable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Throwable modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Throwable modality:OPEN visibility:public superTypes:[kotlin.Any; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testImplicitCast' type=kotlin.Any origin=null diff --git a/compiler/testData/ir/irText/expressions/tryCatch.txt b/compiler/testData/ir/irText/expressions/tryCatch.txt index 85ef1259bd1..974f0dffd22 100644 --- a/compiler/testData/ir/irText/expressions/tryCatch.txt +++ b/compiler/testData/ir/irText/expressions/tryCatch.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/tryCatch.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY TRY type=kotlin.Unit try: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - CATCH parameter=VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + CATCH parameter=val e: kotlin.Throwable [val] declared in .test1 + VAR CATCH_PARAMETER name:e type:kotlin.Throwable [val] BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null finally: BLOCK type=kotlin.Unit origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.Int declared in ' TRY type=kotlin.Int try: BLOCK type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null CONST Int type=kotlin.Int value=42 - CATCH parameter=VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] + CATCH parameter=val e: kotlin.Throwable [val] declared in .test2 + VAR CATCH_PARAMETER name:e type:kotlin.Throwable [val] BLOCK type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null CONST Int type=kotlin.Int value=24 finally: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=null - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null CONST Int type=kotlin.Int value=555 diff --git a/compiler/testData/ir/irText/expressions/tryCatchWithImplicitCast.txt b/compiler/testData/ir/irText/expressions/tryCatchWithImplicitCast.txt index 33c9d65b3da..238be742fdb 100644 --- a/compiler/testData/ir/irText/expressions/tryCatchWithImplicitCast.txt +++ b/compiler/testData/ir/irText/expressions/tryCatchWithImplicitCast.txt @@ -1,21 +1,21 @@ FILE fqName: fileName:/tryCatchWithImplicitCast.kt - FUN name:testImplicitCast visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + FUN name:testImplicitCast visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testImplicitCast visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - VAR name:t type:kotlin.String flags:[val] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testImplicitCast' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testImplicitCast (a: kotlin.Any): kotlin.Unit declared in ' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + VAR name:t type:kotlin.String [val] TRY type=kotlin.String try: BLOCK type=kotlin.String origin=null TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - CATCH parameter=VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testImplicitCast' type=kotlin.Any origin=null + CATCH parameter=val e: kotlin.Throwable [val] declared in .testImplicitCast + VAR CATCH_PARAMETER name:e type:kotlin.Throwable [val] BLOCK type=kotlin.String origin=null CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/expressions/typeArguments.txt b/compiler/testData/ir/irText/expressions/typeArguments.txt index ec8b3439879..ccabea314d6 100644 --- a/compiler/testData/ir/irText/expressions/typeArguments.txt +++ b/compiler/testData/ir/irText/expressions/typeArguments.txt @@ -1,18 +1,18 @@ FILE fqName: fileName:/typeArguments.kt - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Array<*> - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:isArrayOf visibility:public modality:FINAL ($receiver:kotlin.Array<*>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + then: CALL 'public final fun isArrayOf (): kotlin.Boolean declared in kotlin.jvm' type=kotlin.Boolean origin=null : kotlin.String $receiver: TYPE_OP type=kotlin.Array<*> origin=IMPLICIT_CAST typeOperand=kotlin.Array<*> - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/expressions/typeOperators.txt b/compiler/testData/ir/irText/expressions/typeOperators.txt index 0674a7006ce..aabe84219f8 100644 --- a/compiler/testData/ir/irText/expressions/typeOperators.txt +++ b/compiler/testData/ir/irText/expressions/typeOperators.txt @@ -1,44 +1,44 @@ FILE fqName: fileName:/typeOperators.kt - CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IThing flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IThing + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Any): kotlin.Boolean declared in ' TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=.IThing - typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null + FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.Any): kotlin.Boolean declared in ' TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.IThing - typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'x: kotlin.Any declared in .test2' type=kotlin.Any origin=null + FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing flags:[]' + RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Any): .IThing declared in ' TYPE_OP type=.IThing origin=CAST typeOperand=.IThing - typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing? flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null + FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing? + VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test4 (x: kotlin.Any): .IThing? declared in ' TYPE_OP type=.IThing? origin=SAFE_CAST typeOperand=.IThing - typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + GET_VAR 'x: kotlin.Any declared in .test4' type=kotlin.Any origin=null diff --git a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt index 38da0def35c..c7f171cebdd 100644 --- a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt +++ b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt @@ -1,61 +1,61 @@ FILE fqName: fileName:/typeParameterClassLiteral.kt - FUN name:classRefFun visibility:public modality:FINAL () returnType:kotlin.reflect.KClass<.classRefFun.T> flags:[inline] + FUN name:classRefFun visibility:public modality:FINAL () returnType:kotlin.reflect.KClass.classRefFun> [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:classRefFun visibility:public modality:FINAL () returnType:kotlin.reflect.KClass<.classRefFun.T> flags:[inline]' - CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.classRefFun.T> - FUN name:classRefExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:kotlin.reflect.KClass<.classRefExtFun.T> flags:[inline] + RETURN type=kotlin.Nothing from='public final fun classRefFun (): kotlin.reflect.KClass.classRefFun> [inline] declared in ' + CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.classRefFun> + FUN name:classRefExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:kotlin.reflect.KClass.classRefExtFun> [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:classRefExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:kotlin.reflect.KClass<.classRefExtFun.T> flags:[inline]' - CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.classRefExtFun.T> - PROPERTY name:classRefExtVal visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.reflect.KClass<..T> flags:[inline] - correspondingProperty: PROPERTY name:classRefExtVal visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun classRefExtFun (): kotlin.reflect.KClass.classRefExtFun> [inline] declared in ' + CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.classRefExtFun> + PROPERTY name:classRefExtVal visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.reflect.KClass.> [inline] + correspondingProperty: PROPERTY name:classRefExtVal visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.reflect.KClass<..T> flags:[inline]' - CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<..T> - CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KClass.> [inline] declared in ' + CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.> + CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host + CONSTRUCTOR visibility:public <> () returnType:.Host [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:classRefGenericMemberFun visibility:public modality:FINAL ($this:.Host) returnType:kotlin.reflect.KClass<.Host.classRefGenericMemberFun.TF> flags:[inline] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:classRefGenericMemberFun visibility:public modality:FINAL ($this:.Host) returnType:kotlin.reflect.KClass.Host.classRefGenericMemberFun> [inline] TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER name: type:.Host flags:[] + $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:classRefGenericMemberFun visibility:public modality:FINAL ($this:.Host) returnType:kotlin.reflect.KClass<.Host.classRefGenericMemberFun.TF> flags:[inline]' - CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.Host.classRefGenericMemberFun.TF> - FUN name:classRefGenericMemberExtFun visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.Any) returnType:kotlin.reflect.KClass<.Host.classRefGenericMemberExtFun.TF> flags:[inline] + RETURN type=kotlin.Nothing from='public final fun classRefGenericMemberFun (): kotlin.reflect.KClass.Host.classRefGenericMemberFun> [inline] declared in .Host' + CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.Host.classRefGenericMemberFun> + FUN name:classRefGenericMemberExtFun visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.Any) returnType:kotlin.reflect.KClass.Host.classRefGenericMemberExtFun> [inline] TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:classRefGenericMemberExtFun visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.Any) returnType:kotlin.reflect.KClass<.Host.classRefGenericMemberExtFun.TF> flags:[inline]' - CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.Host.classRefGenericMemberExtFun.TF> - PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($this:.Host, $receiver:.Host..TV) returnType:kotlin.reflect.KClass<.Host..TV> flags:[inline] - correspondingProperty: PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun classRefGenericMemberExtFun (): kotlin.reflect.KClass.Host.classRefGenericMemberExtFun> [inline] declared in .Host' + CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.Host.classRefGenericMemberExtFun> + PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($this:.Host, $receiver:TV of .Host.) returnType:kotlin.reflect.KClass.Host.> [inline] + correspondingProperty: PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL [val] TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER name: type:.Host flags:[] - $receiver: VALUE_PARAMETER name: type:.Host..TV flags:[] + $this: VALUE_PARAMETER name: type:.Host + $receiver: VALUE_PARAMETER name: type:TV of .Host. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.Host, $receiver:.Host..TV) returnType:kotlin.reflect.KClass<.Host..TV> flags:[inline]' - CLASS_REFERENCE 'TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<.Host..TV> - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KClass.Host.> [inline] declared in .Host' + CLASS_REFERENCE 'TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.Host.> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt b/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt index e049f960690..33a643c499d 100644 --- a/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt +++ b/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt @@ -1,95 +1,95 @@ FILE fqName: fileName:/unsignedIntegerLiterals.kt - PROPERTY name:testSimpleUIntLiteral visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteral type:kotlin.UInt visibility:public flags:[final,static] + PROPERTY name:testSimpleUIntLiteral visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteral type:kotlin.UInt visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.UInt value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[] - correspondingProperty: PROPERTY name:testSimpleUIntLiteral visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt + correspondingProperty: PROPERTY name:testSimpleUIntLiteral visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteral type:kotlin.UInt visibility:public flags:[final,static]' type=kotlin.UInt origin=null - PROPERTY name:testSimpleUIntLiteralWithOverflow visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteralWithOverflow type:kotlin.UInt visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UInt declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteral type:kotlin.UInt visibility:public [final,static] ' type=kotlin.UInt origin=null + PROPERTY name:testSimpleUIntLiteralWithOverflow visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteralWithOverflow type:kotlin.UInt visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.UInt value=-1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[] - correspondingProperty: PROPERTY name:testSimpleUIntLiteralWithOverflow visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt + correspondingProperty: PROPERTY name:testSimpleUIntLiteralWithOverflow visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteralWithOverflow type:kotlin.UInt visibility:public flags:[final,static]' type=kotlin.UInt origin=null - PROPERTY name:testUByteWithExpectedType visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testUByteWithExpectedType type:kotlin.UByte visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UInt declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteralWithOverflow type:kotlin.UInt visibility:public [final,static] ' type=kotlin.UInt origin=null + PROPERTY name:testUByteWithExpectedType visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testUByteWithExpectedType type:kotlin.UByte visibility:public [final,static] EXPRESSION_BODY CONST Byte type=kotlin.UByte value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UByte flags:[] - correspondingProperty: PROPERTY name:testUByteWithExpectedType visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UByte + correspondingProperty: PROPERTY name:testUByteWithExpectedType visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UByte flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testUByteWithExpectedType type:kotlin.UByte visibility:public flags:[final,static]' type=kotlin.UByte origin=null - PROPERTY name:testUShortWithExpectedType visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testUShortWithExpectedType type:kotlin.UShort visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UByte declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testUByteWithExpectedType type:kotlin.UByte visibility:public [final,static] ' type=kotlin.UByte origin=null + PROPERTY name:testUShortWithExpectedType visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testUShortWithExpectedType type:kotlin.UShort visibility:public [final,static] EXPRESSION_BODY CONST Short type=kotlin.UShort value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UShort flags:[] - correspondingProperty: PROPERTY name:testUShortWithExpectedType visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UShort + correspondingProperty: PROPERTY name:testUShortWithExpectedType visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UShort flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testUShortWithExpectedType type:kotlin.UShort visibility:public flags:[final,static]' type=kotlin.UShort origin=null - PROPERTY name:testUIntWithExpectedType visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testUIntWithExpectedType type:kotlin.UInt visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UShort declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testUShortWithExpectedType type:kotlin.UShort visibility:public [final,static] ' type=kotlin.UShort origin=null + PROPERTY name:testUIntWithExpectedType visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testUIntWithExpectedType type:kotlin.UInt visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.UInt value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[] - correspondingProperty: PROPERTY name:testUIntWithExpectedType visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt + correspondingProperty: PROPERTY name:testUIntWithExpectedType visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testUIntWithExpectedType type:kotlin.UInt visibility:public flags:[final,static]' type=kotlin.UInt origin=null - PROPERTY name:testULongWithExpectedType visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testULongWithExpectedType type:kotlin.ULong visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UInt declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testUIntWithExpectedType type:kotlin.UInt visibility:public [final,static] ' type=kotlin.UInt origin=null + PROPERTY name:testULongWithExpectedType visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testULongWithExpectedType type:kotlin.ULong visibility:public [final,static] EXPRESSION_BODY CONST Long type=kotlin.ULong value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.ULong flags:[] - correspondingProperty: PROPERTY name:testULongWithExpectedType visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.ULong + correspondingProperty: PROPERTY name:testULongWithExpectedType visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.ULong flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testULongWithExpectedType type:kotlin.ULong visibility:public flags:[final,static]' type=kotlin.ULong origin=null - PROPERTY name:testToUByte visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testToUByte type:kotlin.UByte visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.ULong declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testULongWithExpectedType type:kotlin.ULong visibility:public [final,static] ' type=kotlin.ULong origin=null + PROPERTY name:testToUByte visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testToUByte type:kotlin.UByte visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toUByte visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.UByte flags:[inline]' type=kotlin.UByte origin=null + CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin' type=kotlin.UByte origin=null $receiver: CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UByte flags:[] - correspondingProperty: PROPERTY name:testToUByte visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UByte + correspondingProperty: PROPERTY name:testToUByte visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UByte flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToUByte type:kotlin.UByte visibility:public flags:[final,static]' type=kotlin.UByte origin=null - PROPERTY name:testToUShort visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testToUShort type:kotlin.UShort visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UByte declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToUByte type:kotlin.UByte visibility:public [final,static] ' type=kotlin.UByte origin=null + PROPERTY name:testToUShort visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testToUShort type:kotlin.UShort visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toUShort visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.UShort flags:[inline]' type=kotlin.UShort origin=null + CALL 'public final fun toUShort (): kotlin.UShort [inline] declared in kotlin' type=kotlin.UShort origin=null $receiver: CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UShort flags:[] - correspondingProperty: PROPERTY name:testToUShort visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UShort + correspondingProperty: PROPERTY name:testToUShort visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UShort flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToUShort type:kotlin.UShort visibility:public flags:[final,static]' type=kotlin.UShort origin=null - PROPERTY name:testToUInt visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testToUInt type:kotlin.UInt visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UShort declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToUShort type:kotlin.UShort visibility:public [final,static] ' type=kotlin.UShort origin=null + PROPERTY name:testToUInt visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testToUInt type:kotlin.UInt visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toUInt visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.UInt flags:[inline]' type=kotlin.UInt origin=null + CALL 'public final fun toUInt (): kotlin.UInt [inline] declared in kotlin' type=kotlin.UInt origin=null $receiver: CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[] - correspondingProperty: PROPERTY name:testToUInt visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt + correspondingProperty: PROPERTY name:testToUInt visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.UInt flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToUInt type:kotlin.UInt visibility:public flags:[final,static]' type=kotlin.UInt origin=null - PROPERTY name:testToULong visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:testToULong type:kotlin.ULong visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.UInt declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToUInt type:kotlin.UInt visibility:public [final,static] ' type=kotlin.UInt origin=null + PROPERTY name:testToULong visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:testToULong type:kotlin.ULong visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toULong visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.ULong flags:[inline]' type=kotlin.ULong origin=null + CALL 'public final fun toULong (): kotlin.ULong [inline] declared in kotlin' type=kotlin.ULong origin=null $receiver: CONST Int type=kotlin.Int value=1 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.ULong flags:[] - correspondingProperty: PROPERTY name:testToULong visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.ULong + correspondingProperty: PROPERTY name:testToULong visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.ULong flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToULong type:kotlin.ULong visibility:public flags:[final,static]' type=kotlin.ULong origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.ULong declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testToULong type:kotlin.ULong visibility:public [final,static] ' type=kotlin.ULong origin=null diff --git a/compiler/testData/ir/irText/expressions/useImportedMember.txt b/compiler/testData/ir/irText/expressions/useImportedMember.txt index 3cc0e18ea09..adac2cb2e0a 100644 --- a/compiler/testData/ir/irText/expressions/useImportedMember.txt +++ b/compiler/testData/ir/irText/expressions/useImportedMember.txt @@ -1,279 +1,279 @@ FILE fqName: fileName:/useImportedMember.kt - CLASS INTERFACE name:I modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I<.I.G> flags:[] + CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] - FUN name:fromInterface visibility:public modality:OPEN ($this:.I<.I.G>, $receiver:.I.fromInterface.T) returnType:.I.fromInterface.T flags:[] + FUN name:fromInterface visibility:public modality:OPEN ($this:.I.I>, $receiver:T of .I.fromInterface) returnType:T of .I.fromInterface TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.I<.I.G> flags:[] - $receiver: VALUE_PARAMETER name: type:.I.fromInterface.T flags:[] + $this: VALUE_PARAMETER name: type:.I.I> + $receiver: VALUE_PARAMETER name: type:T of .I.fromInterface BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:fromInterface visibility:public modality:OPEN ($this:.I<.I.G>, $receiver:.I.fromInterface.T) returnType:.I.fromInterface.T flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:.I.fromInterface.T flags:[]' type=.I.fromInterface.T origin=null - FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:.I<.I.G>, g:.I.G) returnType:.I.G flags:[] - $this: VALUE_PARAMETER name: type:.I<.I.G> flags:[] - VALUE_PARAMETER name:g index:0 type:.I.G flags:[] + RETURN type=kotlin.Nothing from='public open fun fromInterface (): T of .I.fromInterface declared in .I' + GET_VAR ': T of .I.fromInterface declared in .I.fromInterface' type=T of .I.fromInterface origin=null + FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:.I.I>, g:G of .I) returnType:G of .I + $this: VALUE_PARAMETER name: type:.I.I> + VALUE_PARAMETER name:g index:0 type:G of .I BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:.I<.I.G>, g:.I.G) returnType:.I.G flags:[]' - GET_VAR 'VALUE_PARAMETER name:g index:0 type:.I.G flags:[]' type=.I.G origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun genericFromSuper (g: G of .I): G of .I declared in .I' + GET_VAR 'g: G of .I declared in .I.genericFromSuper' type=G of .I origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:BaseClass modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseClass flags:[] - CONSTRUCTOR visibility:public <> () returnType:.BaseClass flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:BaseClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseClass + CONSTRUCTOR visibility:public <> () returnType:.BaseClass [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseClass modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:fromClass visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:.BaseClass..T) returnType:.BaseClass..T flags:[] - correspondingProperty: PROPERTY name:fromClass visibility:public modality:FINAL flags:[val] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + PROPERTY name:fromClass visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:T of .BaseClass.) returnType:T of .BaseClass. + correspondingProperty: PROPERTY name:fromClass visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.BaseClass flags:[] - $receiver: VALUE_PARAMETER name: type:.BaseClass..T flags:[] + $this: VALUE_PARAMETER name: type:.BaseClass + $receiver: VALUE_PARAMETER name: type:T of .BaseClass. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:.BaseClass..T) returnType:.BaseClass..T flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:.BaseClass..T flags:[]' type=.BaseClass..T origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .BaseClass. declared in .BaseClass' + GET_VAR ': T of .BaseClass. declared in .BaseClass.' type=T of .BaseClass. origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:private <> () returnType:.C flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:private <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.BaseClass flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' - FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.Int flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .BaseClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' + FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun f (s: kotlin.Int): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=1 - FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.String) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] + FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.String) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.String) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun f (s: kotlin.String): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=2 - FUN name:f visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Boolean) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.C flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Boolean flags:[] + FUN name:f visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Boolean) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:kotlin.Boolean BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Boolean) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun f (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=3 - PROPERTY name:p visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[] + PROPERTY name:p visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=4 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - PROPERTY name:ext visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:ext visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.C flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + PROPERTY name:ext visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int) returnType:kotlin.Int + correspondingProperty: PROPERTY name:ext visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=6 - FUN name:g1 visibility:public modality:FINAL ($this:.C, t:.C.g1.T) returnType:.C.g1.T flags:[] + FUN name:g1 visibility:public modality:FINAL ($this:.C, t:T of .C.g1) returnType:T of .C.g1 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.C flags:[] - VALUE_PARAMETER name:t index:0 type:.C.g1.T flags:[] + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:T of .C.g1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:g1 visibility:public modality:FINAL ($this:.C, t:.C.g1.T) returnType:.C.g1.T flags:[]' - GET_VAR 'VALUE_PARAMETER name:t index:0 type:.C.g1.T flags:[]' type=.C.g1.T origin=null - PROPERTY name:g2 visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($this:.C, $receiver:.C..T) returnType:.C..T flags:[] - correspondingProperty: PROPERTY name:g2 visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun g1 (t: T of .C.g1): T of .C.g1 declared in .C' + GET_VAR 't: T of .C.g1 declared in .C.g1' type=T of .C.g1 origin=null + PROPERTY name:g2 visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($this:.C, $receiver:T of .C.) returnType:T of .C. + correspondingProperty: PROPERTY name:g2 visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.C flags:[] - $receiver: VALUE_PARAMETER name: type:.C..T flags:[] + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:T of .C. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.C, $receiver:.C..T) returnType:.C..T flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:.C..T flags:[]' type=.C..T origin=null - PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:.C..T) returnType:.C..T flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='public final fun (): T of .C. declared in .C' + GET_VAR ': T of .C. declared in .C.' type=T of .C. origin=null + PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:T of .C.) returnType:T of .C. + correspondingProperty: PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [val] overridden: - FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:.BaseClass..T) returnType:.BaseClass..T flags:[] + FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:T of .BaseClass.) returnType:T of .BaseClass. TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.BaseClass flags:[] - $receiver: VALUE_PARAMETER name: type:.C..T flags:[] - FUN FAKE_OVERRIDE name:fromInterface visibility:public modality:OPEN ($this:.I, $receiver:.C.fromInterface.T) returnType:.C.fromInterface.T flags:[] + $this: VALUE_PARAMETER name: type:.BaseClass + $receiver: VALUE_PARAMETER name: type:T of .C. + FUN FAKE_OVERRIDE name:fromInterface visibility:public modality:OPEN ($this:.I, $receiver:T of .C.fromInterface) returnType:T of .C.fromInterface overridden: - FUN name:fromInterface visibility:public modality:OPEN ($this:.I<.I.G>, $receiver:.I.fromInterface.T) returnType:.I.fromInterface.T flags:[] + FUN name:fromInterface visibility:public modality:OPEN ($this:.I.I>, $receiver:T of .I.fromInterface) returnType:T of .I.fromInterface TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.I flags:[] - $receiver: VALUE_PARAMETER name: type:.C.fromInterface.T flags:[] - FUN FAKE_OVERRIDE name:genericFromSuper visibility:public modality:OPEN <> ($this:.I, g:kotlin.String) returnType:kotlin.String flags:[] + $this: VALUE_PARAMETER name: type:.I + $receiver: VALUE_PARAMETER name: type:T of .C.fromInterface + FUN FAKE_OVERRIDE name:genericFromSuper visibility:public modality:OPEN <> ($this:.I, g:kotlin.String) returnType:kotlin.String overridden: - FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:.I<.I.G>, g:.I.G) returnType:.I.G flags:[] - $this: VALUE_PARAMETER name: type:.I flags:[] - VALUE_PARAMETER name:g index:0 type:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:.I.I>, g:G of .I) returnType:G of .I + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:g index:0 type:kotlin.String + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun f (s: kotlin.Int): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C s: CONST Int type=kotlin.Int value=1 arg1: CONST Int type=kotlin.Int value=1 - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="1" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun f (s: kotlin.String): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C s: CONST String type=kotlin.String value="s" arg1: CONST Int type=kotlin.Int value=2 - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="2" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN name:f visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Boolean) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun f (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C $receiver: CONST Boolean type=kotlin.Boolean value=true arg1: CONST Int type=kotlin.Int value=3 - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="3" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C arg1: CONST Int type=kotlin.Int value=4 - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="4" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C : CONST Int type=kotlin.Int value=5 WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C arg1: CONST Int type=kotlin.Int value=5 - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="5" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN name: visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C $receiver: CONST Int type=kotlin.Int value=5 arg1: CONST Int type=kotlin.Int value=6 - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="6" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN name:g1 visibility:public modality:FINAL ($this:.C, t:.C.g1.T) returnType:.C.g1.T flags:[]' type=kotlin.String origin=null + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun g1 (t: T of .C.g1): T of .C.g1 declared in .C' type=kotlin.String origin=null : kotlin.String - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C t: CONST String type=kotlin.String value="7" arg1: CONST String type=kotlin.String value="7" - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="7" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN name: visibility:public modality:FINAL ($this:.C, $receiver:.C..T) returnType:.C..T flags:[]' type=kotlin.String origin=GET_PROPERTY + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): T of .C. declared in .C' type=kotlin.String origin=GET_PROPERTY <`0>: kotlin.String - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C $receiver: CONST String type=kotlin.String value="8" arg1: CONST String type=kotlin.String value="8" - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="8" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN FAKE_OVERRIDE name:fromInterface visibility:public modality:OPEN ($this:.I, $receiver:.C.fromInterface.T) returnType:.C.fromInterface.T flags:[]' type=kotlin.Int origin=null + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public open fun fromInterface (): T of .C.fromInterface declared in .C' type=kotlin.Int origin=null : kotlin.Int - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C $receiver: CONST Int type=kotlin.Int value=9 arg1: CONST Int type=kotlin.Int value=9 - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="9" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:.C..T) returnType:.C..T flags:[]' type=kotlin.String origin=GET_PROPERTY + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): T of .C. declared in .C' type=kotlin.String origin=GET_PROPERTY <`0>: kotlin.String - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C $receiver: CONST String type=kotlin.String value="10" arg1: CONST String type=kotlin.String value="10" - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="10" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN FAKE_OVERRIDE name:genericFromSuper visibility:public modality:OPEN <> ($this:.I, g:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=null - $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] superTypes:[.BaseClass; .I]' type=.C + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public open fun genericFromSuper (g: kotlin.String): kotlin.String declared in .C' type=kotlin.String origin=null + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C g: CONST String type=kotlin.String value="11" arg1: CONST String type=kotlin.String value="11" - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="11" - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="OK" diff --git a/compiler/testData/ir/irText/expressions/values.txt b/compiler/testData/ir/irText/expressions/values.txt index 33b30d6aac2..53192df6fd0 100644 --- a/compiler/testData/ir/irText/expressions/values.txt +++ b/compiler/testData/ir/irText/expressions/values.txt @@ -1,139 +1,139 @@ FILE fqName: fileName:/values.kt - CLASS ENUM_CLASS name:Enum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Enum>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Enum flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Enum flags:[primary] + CLASS ENUM_CLASS name:Enum modality:FINAL visibility:public superTypes:[kotlin.Enum<.Enum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Enum + CONSTRUCTOR visibility:private <> () returnType:.Enum [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .Enum - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Enum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Enum>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Enum modality:FINAL visibility:public superTypes:[kotlin.Enum<.Enum>]' ENUM_ENTRY name:A - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Enum flags:[primary]' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Any flags:[] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Enum' + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:java.lang.Class<.Enum?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:java.lang.Class<.Enum?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>, other:.Enum) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>, other:.Enum) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - VALUE_PARAMETER name:other index:0 type:.Enum flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + VALUE_PARAMETER name:other index:0 type:.Enum + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Enum>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Enum> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Enum> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Enum> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Enum flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Enum + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:a visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public flags:[final,static] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:a visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - CLASS CLASS name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Z flags:[primary] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z + CONSTRUCTOR visibility:public <> () returnType:.Z [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.Companion flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Z.Companion flags:[primary] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.Companion + CONSTRUCTOR visibility:private <> () returnType:.Z.Companion [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test1 visibility:public modality:FINAL <> () returnType:.Enum flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test1 visibility:public modality:FINAL <> () returnType:.Enum BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:.Enum flags:[]' + RETURN type=kotlin.Nothing from='public final fun test1 (): .Enum declared in ' GET_ENUM 'ENUM_ENTRY name:A' type=.Enum - FUN name:test2 visibility:public modality:FINAL <> () returnType:.A flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:.A flags:[]' - GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun test2 (): .A declared in ' + GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - FUN name:test4 visibility:public modality:FINAL <> () returnType:.Z.Companion flags:[] + RETURN type=kotlin.Nothing from='public final fun test3 (): kotlin.Int declared in ' + CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY + FUN name:test4 visibility:public modality:FINAL <> () returnType:.Z.Companion BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> () returnType:.Z.Companion flags:[]' - GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' type=.Z.Companion + RETURN type=kotlin.Nothing from='public final fun test4 (): .Z.Companion declared in ' + GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.Z.Companion diff --git a/compiler/testData/ir/irText/expressions/vararg.txt b/compiler/testData/ir/irText/expressions/vararg.txt index a0cd2e786fe..d4b3d487ab2 100644 --- a/compiler/testData/ir/irText/expressions/vararg.txt +++ b/compiler/testData/ir/irText/expressions/vararg.txt @@ -1,42 +1,42 @@ FILE fqName: fileName:/vararg.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Array visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Array visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:arrayOf visibility:public modality:FINAL (elements:kotlin.Array) returnType:kotlin.Array flags:[inline]' type=kotlin.Array origin=null + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array [inline] declared in kotlin' type=kotlin.Array origin=null : kotlin.String - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Array visibility:public flags:[final,static]' type=kotlin.Array origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Array visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Array visibility:public [final,static] ' type=kotlin.Array origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Array visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:arrayOf visibility:public modality:FINAL (elements:kotlin.Array) returnType:kotlin.Array flags:[inline]' type=kotlin.Array origin=null + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array [inline] declared in kotlin' type=kotlin.Array origin=null : kotlin.String elements: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="1" CONST String type=kotlin.String value="2" CONST String type=kotlin.String value="3" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Array visibility:public flags:[final,static]' type=kotlin.Array origin=null - PROPERTY name:test3 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Array visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Array visibility:public [final,static] ' type=kotlin.Array origin=null + PROPERTY name:test3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Array visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:arrayOf visibility:public modality:FINAL (elements:kotlin.Array) returnType:kotlin.Array flags:[inline]' type=kotlin.Array origin=null + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array [inline] declared in kotlin' type=kotlin.Array origin=null : kotlin.String elements: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="0" SPREAD_ELEMENT - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY + CALL 'public final fun (): kotlin.Array declared in ' type=kotlin.Array origin=GET_PROPERTY SPREAD_ELEMENT - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY + CALL 'public final fun (): kotlin.Array declared in ' type=kotlin.Array origin=GET_PROPERTY CONST String type=kotlin.String value="4" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[] - correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Array visibility:public flags:[final,static]' type=kotlin.Array origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Array visibility:public [final,static] ' type=kotlin.Array origin=null diff --git a/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt b/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt index 3426b6035ae..481d2103c3e 100644 --- a/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt +++ b/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt @@ -1,34 +1,34 @@ FILE fqName: fileName:/varargWithImplicitCast.kt - FUN name:testScalar visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + FUN name:testScalar visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testScalar visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null - RETURN type=kotlin.Nothing from='FUN name:testScalar visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testScalar' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testScalar (a: kotlin.Any): kotlin.IntArray declared in ' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + RETURN type=kotlin.Nothing from='public final fun testScalar (a: kotlin.Any): kotlin.IntArray declared in ' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - FUN name:testSpread visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray flags:[] - VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testScalar' type=kotlin.Any origin=null + FUN name:testSpread visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray + VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.IntArray - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:IntArray modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='FUN name:testSpread visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null - RETURN type=kotlin.Nothing from='FUN name:testSpread visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.IntArray flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' type=kotlin.IntArray origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:IntArray modality:FINAL visibility:public superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testSpread' type=kotlin.Any origin=null + then: RETURN type=kotlin.Nothing from='public final fun testSpread (a: kotlin.Any): kotlin.IntArray declared in ' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + RETURN type=kotlin.Nothing from='public final fun testSpread (a: kotlin.Any): kotlin.IntArray declared in ' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int SPREAD_ELEMENT TYPE_OP type=kotlin.IntArray origin=IMPLICIT_CAST typeOperand=kotlin.IntArray - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:IntArray modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:IntArray modality:FINAL visibility:public superTypes:[kotlin.Any; kotlin.Cloneable; java.io.Serializable] + GET_VAR 'a: kotlin.Any declared in .testSpread' type=kotlin.Any origin=null diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt index 1050d9b8ceb..00385a16810 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt @@ -1,59 +1,59 @@ FILE fqName: fileName:/variableAsFunctionCall.kt - FUN name:k visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Function0 flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + FUN name:k visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Function0 + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:k visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Function0 flags:[]' + RETURN type=kotlin.Nothing from='public final fun k (): kotlin.Function0 declared in ' BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test1 visibility:public modality:FINAL <> (f:kotlin.Function0) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:f index:0 type:kotlin.Function0 flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .k' + GET_VAR ': kotlin.String declared in .k' type=kotlin.String origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.String declared in .k' type=kotlin.Function0 origin=LAMBDA + FUN name:test1 visibility:public modality:FINAL <> (f:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:f index:0 type:kotlin.Function0 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (f:kotlin.Function0) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:f index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION - FUN name:test2 visibility:public modality:FINAL <> (f:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:f index:0 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags:[] + RETURN type=kotlin.Nothing from='public final fun test1 (f: kotlin.Function0): kotlin.Unit declared in ' + CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'f: kotlin.Function0 declared in .test1' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION + FUN name:test2 visibility:public modality:FINAL <> (f:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit + VALUE_PARAMETER name:f index:0 type:@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (f:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function1, p1:kotlin.Function1.P1) returnType:kotlin.Function1.R flags:[]' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:f index:0 type:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION + RETURN type=kotlin.Nothing from='public final fun test2 (f: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): kotlin.Unit declared in ' + CALL 'public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'f: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 declared in .test2' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION p1: CONST String type=kotlin.String value="hello" - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=kotlin.String origin=null - $this: CALL 'FUN name:k visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null + RETURN type=kotlin.Nothing from='public final fun test3 (): kotlin.String declared in ' + CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.String origin=null + $this: CALL 'public final fun k (): kotlin.Function0 declared in ' type=kotlin.Function0 origin=null $receiver: CONST String type=kotlin.String value="hello" - FUN name:test4 visibility:public modality:FINAL <> (ns:kotlin.String?) returnType:kotlin.String? flags:[] - VALUE_PARAMETER name:ns index:0 type:kotlin.String? flags:[] + FUN name:test4 visibility:public modality:FINAL <> (ns:kotlin.String?) returnType:kotlin.String? + VALUE_PARAMETER name:ns index:0 type:kotlin.String? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (ns:kotlin.String?) returnType:kotlin.String? flags:[]' + RETURN type=kotlin.Nothing from='public final fun test4 (ns: kotlin.String?): kotlin.String? declared in ' BLOCK type=kotlin.String? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:kotlin.Function0? flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:kotlin.Function0? [val] BLOCK type=kotlin.Function0? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val] - GET_VAR 'VALUE_PARAMETER name:ns index:0 type:kotlin.String? flags:[]' type=kotlin.String? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? [val] + GET_VAR 'ns: kotlin.String? declared in .test4' type=kotlin.String? origin=null WHEN type=kotlin.Function0? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test4' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN name:k visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=null - $receiver: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null + then: CALL 'public final fun k (): kotlin.Function0 declared in ' type=kotlin.Function0 origin=null + $receiver: GET_VAR 'val tmp0_safe_receiver: kotlin.String? [val] declared in .test4' type=kotlin.String? origin=null WHEN type=kotlin.String? origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:kotlin.Function0? flags:[val]' type=kotlin.Function0? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_safe_receiver: kotlin.Function0? [val] declared in .test4' type=kotlin.Function0? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=kotlin.String origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:kotlin.Function0? flags:[val]' type=kotlin.Function0? origin=null + then: CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.String origin=null + $this: GET_VAR 'val tmp1_safe_receiver: kotlin.Function0? [val] declared in .test4' type=kotlin.Function0? origin=null diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt index aa5f5872086..5f6d282abc1 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt @@ -1,42 +1,42 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt - PROPERTY name:gk visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Function0<..T> flags:[] - correspondingProperty: PROPERTY name:gk visibility:public modality:FINAL flags:[val] + PROPERTY name:gk visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Function0.> + correspondingProperty: PROPERTY name:gk visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Function0<..T> flags:[]' - BLOCK type=kotlin.Function0<..T> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:..T flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' + BLOCK type=kotlin.Function0.> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:..T flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:..T flags:[]' type=..T origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:..T flags:[]' type=kotlin.Function0<..T> origin=LAMBDA - FUN name:testGeneric1 visibility:public modality:FINAL <> (x:kotlin.String) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='local final fun (): T of . declared in .' + GET_VAR ': T of . declared in .' type=T of . origin=null + FUNCTION_REFERENCE 'local final fun (): T of . declared in .' type=kotlin.Function0.> origin=LAMBDA + FUN name:testGeneric1 visibility:public modality:FINAL <> (x:kotlin.String) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testGeneric1 visibility:public modality:FINAL <> (x:kotlin.String) returnType:kotlin.String flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=kotlin.String origin=INVOKE - $this: CALL 'FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Function0<..T> flags:[]' type=kotlin.Function0 origin=GET_PROPERTY + RETURN type=kotlin.Nothing from='public final fun testGeneric1 (x: kotlin.String): kotlin.String declared in ' + CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.String origin=INVOKE + $this: CALL 'public final fun (): kotlin.Function0.> declared in ' type=kotlin.Function0 origin=GET_PROPERTY <`0>: kotlin.String - $receiver: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null - PROPERTY name:kt26531Val visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Function0<..T> flags:[] - correspondingProperty: PROPERTY name:kt26531Val visibility:public modality:FINAL flags:[val] + $receiver: GET_VAR 'x: kotlin.String declared in .testGeneric1' type=kotlin.String origin=null + PROPERTY name:kt26531Val visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Function0.> + correspondingProperty: PROPERTY name:kt26531Val visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:..T flags:[] + $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Function0<..T> flags:[]' - BLOCK type=kotlin.Function0<..T> origin=ANONYMOUS_FUNCTION - FUN name: visibility:local modality:FINAL <> () returnType:..T flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' + BLOCK type=kotlin.Function0.> origin=ANONYMOUS_FUNCTION + FUN name: visibility:local modality:FINAL <> () returnType:T of . BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:local modality:FINAL <> () returnType:..T flags:[]' - GET_VAR 'VALUE_PARAMETER name: type:..T flags:[]' type=..T origin=null - FUNCTION_REFERENCE 'FUN name: visibility:local modality:FINAL <> () returnType:..T flags:[]' type=kotlin.Function0<..T> origin=ANONYMOUS_FUNCTION - FUN name:kt26531 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='local final fun (): T of . declared in .' + GET_VAR ': T of . declared in .' type=T of . origin=null + FUNCTION_REFERENCE 'local final fun (): T of . declared in .' type=kotlin.Function0.> origin=ANONYMOUS_FUNCTION + FUN name:kt26531 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:kt26531 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=kotlin.Int origin=INVOKE - $this: CALL 'FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Function0<..T> flags:[]' type=kotlin.Function0 origin=GET_PROPERTY + RETURN type=kotlin.Nothing from='public final fun kt26531 (): kotlin.Int declared in ' + CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Int origin=INVOKE + $this: CALL 'public final fun (): kotlin.Function0.> declared in ' type=kotlin.Function0 origin=GET_PROPERTY <`0>: kotlin.Int $receiver: CONST Int type=kotlin.Int value=7 diff --git a/compiler/testData/ir/irText/expressions/when.txt b/compiler/testData/ir/irText/expressions/when.txt index 1eee28daa23..80b0a5b7960 100644 --- a/compiler/testData/ir/irText/expressions/when.txt +++ b/compiler/testData/ir/irText/expressions/when.txt @@ -1,108 +1,108 @@ FILE fqName: fileName:/when.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:testWithSubject visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:testWithSubject visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testWithSubject visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun testWithSubject (x: kotlin.Any?): kotlin.String declared in ' BLOCK type=kotlin.String origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? [val] + GET_VAR 'x: kotlin.Any? declared in .testWithSubject' type=kotlin.Any? origin=null WHEN type=kotlin.String origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Any? [val] declared in .testWithSubject' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST String type=kotlin.String value="null" BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null - arg1: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Any? [val] declared in .testWithSubject' type=kotlin.Any? origin=null + arg1: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A then: CONST String type=kotlin.String value="A" BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'val tmp0_subject: kotlin.Any? [val] declared in .testWithSubject' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="String" BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCL + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCL arg0: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Number - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public superTypes:[kotlin.Any; java.io.Serializable] + GET_VAR 'val tmp0_subject: kotlin.Any? [val] declared in .testWithSubject' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="!Number" BRANCH - if: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:FINAL ($receiver:kotlin.collections.Iterable, element:kotlin.collections.contains.T) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=IN + if: CALL 'public final fun contains (element: T of kotlin.collections.contains): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=IN : kotlin.Number - $receiver: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setOf visibility:public modality:FINAL () returnType:kotlin.collections.Set flags:[inline]' type=kotlin.collections.Set origin=null + $receiver: CALL 'public final fun setOf (): kotlin.collections.Set [inline] declared in kotlin.collections' type=kotlin.collections.Set origin=null : kotlin.Nothing element: TYPE_OP type=kotlin.Number origin=IMPLICIT_CAST typeOperand=kotlin.Number - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any; java.io.Serializable] - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public superTypes:[kotlin.Any; java.io.Serializable] + GET_VAR 'val tmp0_subject: kotlin.Any? [val] declared in .testWithSubject' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="nothingness?" BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST String type=kotlin.String value="something" - FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (x: kotlin.Any?): kotlin.String declared in ' WHEN type=kotlin.String origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST String type=kotlin.String value="null" BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - arg1: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any? origin=null + arg1: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A then: CONST String type=kotlin.String value="A" BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="String" BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Number - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public superTypes:[kotlin.Any; java.io.Serializable] + GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="!Number" BRANCH - if: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:FINAL ($receiver:kotlin.collections.Iterable, element:kotlin.collections.contains.T) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=IN + if: CALL 'public final fun contains (element: T of kotlin.collections.contains): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=IN : kotlin.Number - $receiver: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setOf visibility:public modality:FINAL () returnType:kotlin.collections.Set flags:[inline]' type=kotlin.collections.Set origin=null + $receiver: CALL 'public final fun setOf (): kotlin.collections.Set [inline] declared in kotlin.collections' type=kotlin.collections.Set origin=null : kotlin.Nothing element: TYPE_OP type=kotlin.Number origin=IMPLICIT_CAST typeOperand=kotlin.Number - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any; java.io.Serializable] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public superTypes:[kotlin.Any; java.io.Serializable] + GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="nothingness?" BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST String type=kotlin.String value="something" - FUN name:testComma visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN name:testComma visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testComma visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun testComma (x: kotlin.Int): kotlin.String declared in ' BLOCK type=kotlin.String origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int [val] + GET_VAR 'x: kotlin.Int declared in .testComma' type=kotlin.Int origin=null WHEN type=kotlin.String origin=WHEN BRANCH if: WHEN type=kotlin.Boolean origin=WHEN_COMMA @@ -111,26 +111,26 @@ FILE fqName: fileName:/when.kt BRANCH if: WHEN type=kotlin.Boolean origin=WHEN_COMMA BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=1 then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=2 then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=3 then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=4 then: CONST String type=kotlin.String value="1234" BRANCH @@ -138,33 +138,33 @@ FILE fqName: fileName:/when.kt BRANCH if: WHEN type=kotlin.Boolean origin=WHEN_COMMA BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=5 then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=6 then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=7 then: CONST String type=kotlin.String value="567" BRANCH if: WHEN type=kotlin.Boolean origin=WHEN_COMMA BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=8 then: CONST Boolean type=kotlin.Boolean value=true BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .testComma' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=9 then: CONST String type=kotlin.String value="89" BRANCH diff --git a/compiler/testData/ir/irText/expressions/whenCoercedToUnit.txt b/compiler/testData/ir/irText/expressions/whenCoercedToUnit.txt index d3c2ede35f6..e4665473464 100644 --- a/compiler/testData/ir/irText/expressions/whenCoercedToUnit.txt +++ b/compiler/testData/ir/irText/expressions/whenCoercedToUnit.txt @@ -1,15 +1,15 @@ FILE fqName: fileName:/whenCoercedToUnit.kt - FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY BLOCK type=kotlin.Unit origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val] - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int [val] + GET_VAR 'x: kotlin.Int declared in .foo' type=kotlin.Int origin=null WHEN type=kotlin.Unit origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .foo' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] CONST Int type=kotlin.Int value=0 diff --git a/compiler/testData/ir/irText/expressions/whenElse.txt b/compiler/testData/ir/irText/expressions/whenElse.txt index 020fe6fc89b..fe19f3ddad2 100644 --- a/compiler/testData/ir/irText/expressions/whenElse.txt +++ b/compiler/testData/ir/irText/expressions/whenElse.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/whenElse.kt - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Int declared in ' WHEN type=kotlin.Int origin=WHEN BRANCH if: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/expressions/whenReturn.txt b/compiler/testData/ir/irText/expressions/whenReturn.txt index 17ce4433003..e5f41b9462c 100644 --- a/compiler/testData/ir/irText/expressions/whenReturn.txt +++ b/compiler/testData/ir/irText/expressions/whenReturn.txt @@ -1,38 +1,38 @@ FILE fqName: fileName:/whenReturn.kt - FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[] - VALUE_PARAMETER name:grade index:0 type:kotlin.String flags:[] + FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String + VALUE_PARAMETER name:grade index:0 type:kotlin.String BLOCK_BODY BLOCK type=kotlin.Nothing origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val] - GET_VAR 'VALUE_PARAMETER name:grade index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String [val] + GET_VAR 'grade: kotlin.String declared in .toString' type=kotlin.String origin=null WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null arg1: CONST String type=kotlin.String value="A" - then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' CONST String type=kotlin.String value="Excellent" BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null arg1: CONST String type=kotlin.String value="B" - then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' CONST String type=kotlin.String value="Good" BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null arg1: CONST String type=kotlin.String value="C" - then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' CONST String type=kotlin.String value="Mediocre" BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.String [val] declared in .toString' type=kotlin.String origin=null arg1: CONST String type=kotlin.String value="D" - then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' CONST String type=kotlin.String value="Fair" BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' CONST String type=kotlin.String value="Failure" - RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public final fun toString (grade: kotlin.String): kotlin.String declared in ' CONST String type=kotlin.String value="???" diff --git a/compiler/testData/ir/irText/expressions/whenWithSubjectVariable.txt b/compiler/testData/ir/irText/expressions/whenWithSubjectVariable.txt index cbf2bb78d39..f8f75bc4158 100644 --- a/compiler/testData/ir/irText/expressions/whenWithSubjectVariable.txt +++ b/compiler/testData/ir/irText/expressions/whenWithSubjectVariable.txt @@ -1,52 +1,52 @@ FILE fqName: fileName:/whenWithSubjectVariable.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Any declared in ' CONST Int type=kotlin.Int value=1 - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Int declared in ' BLOCK type=kotlin.Int origin=WHEN - VAR name:y type:kotlin.Any flags:[val] - CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' type=kotlin.Any origin=null + VAR name:y type:kotlin.Any [val] + CALL 'public final fun foo (): kotlin.Any declared in ' type=kotlin.Any origin=null WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR name:y type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val y: kotlin.Any [val] declared in .test' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=42 then: CONST Int type=kotlin.Int value=1 BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VAR name:y type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'val y: kotlin.Any [val] declared in .test' type=kotlin.Any origin=null + then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] - GET_VAR 'VAR name:y type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public superTypes:[kotlin.Comparable; kotlin.CharSequence; java.io.Serializable] + GET_VAR 'val y: kotlin.Any [val] declared in .test' type=kotlin.Any origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCL + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCL arg0: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR name:y type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val y: kotlin.Any [val] declared in .test' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=2 BRANCH - if: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:OPEN <> ($this:kotlin.ranges.IntRange, value:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=IN - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' type=kotlin.ranges.IntRange origin=RANGE + if: CALL 'public open fun contains (value: kotlin.Int): kotlin.Boolean declared in kotlin.ranges.IntRange' type=kotlin.Boolean origin=IN + $this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE $this: CONST Int type=kotlin.Int value=0 other: CONST Int type=kotlin.Int value=10 value: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR name:y type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val y: kotlin.Any [val] declared in .test' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=3 BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCL - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:contains visibility:public modality:OPEN <> ($this:kotlin.ranges.IntRange, value:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=NOT_IN - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' type=kotlin.ranges.IntRange origin=RANGE + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCL + arg0: CALL 'public open fun contains (value: kotlin.Int): kotlin.Boolean declared in kotlin.ranges.IntRange' type=kotlin.Boolean origin=NOT_IN + $this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE $this: CONST Int type=kotlin.Int value=10 other: CONST Int type=kotlin.Int value=20 value: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR name:y type:kotlin.Any flags:[val]' type=kotlin.Any origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable; java.io.Serializable] + GET_VAR 'val y: kotlin.Any [val] declared in .test' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=4 BRANCH if: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/expressions/whileDoWhile.txt b/compiler/testData/ir/irText/expressions/whileDoWhile.txt index d80cb7b06bb..186c357a022 100644 --- a/compiler/testData/ir/irText/expressions/whileDoWhile.txt +++ b/compiler/testData/ir/irText/expressions/whileDoWhile.txt @@ -1,91 +1,91 @@ FILE fqName: fileName:/whileDoWhile.kt - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.Int flags:[var] + VAR name:x type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP - condition: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP - condition: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=5 body: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + GET_VAR 'val tmp0: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null WHILE label=null origin=WHILE_LOOP - condition: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=10 body: BLOCK type=kotlin.Unit origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int [val] + GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp1: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + GET_VAR 'val tmp1: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP - condition: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP body: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - condition: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int [val] + GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp2: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + GET_VAR 'val tmp2: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=15 BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP body: COMPOSITE type=kotlin.Unit origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - condition: CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int [val] + GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp3: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + GET_VAR 'val tmp3: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null + condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: GET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=20 - FUN name:testSmartcastInCondition visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:testSmartcastInCondition visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:a type:kotlin.Any? flags:[val] + VAR name:a type:kotlin.Any? [val] CONST Null type=kotlin.Nothing? value=null WHEN type=kotlin.Unit origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Boolean - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR name:a type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'val a: kotlin.Any? [val] declared in .testSmartcastInCondition' type=kotlin.Any? origin=null then: BLOCK type=kotlin.Unit origin=null WHILE label=null origin=WHILE_LOOP condition: TYPE_OP type=kotlin.Boolean origin=IMPLICIT_CAST typeOperand=kotlin.Boolean - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR name:a type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'val a: kotlin.Any? [val] declared in .testSmartcastInCondition' type=kotlin.Any? origin=null body: BLOCK type=kotlin.Unit origin=null BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP body: COMPOSITE type=kotlin.Unit origin=null condition: TYPE_OP type=kotlin.Boolean origin=IMPLICIT_CAST typeOperand=kotlin.Boolean - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable; java.io.Serializable] - GET_VAR 'VAR name:a type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public superTypes:[kotlin.Comparable; java.io.Serializable] + GET_VAR 'val a: kotlin.Any? [val] declared in .testSmartcastInCondition' type=kotlin.Any? origin=null diff --git a/compiler/testData/ir/irText/lambdas/anonymousFunction.txt b/compiler/testData/ir/irText/lambdas/anonymousFunction.txt index e78c123e4e5..33eb6cfdcdf 100644 --- a/compiler/testData/ir/irText/lambdas/anonymousFunction.txt +++ b/compiler/testData/ir/irText/lambdas/anonymousFunction.txt @@ -1,14 +1,14 @@ FILE fqName: fileName:/anonymousFunction.kt - PROPERTY name:anonymous visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public flags:[final,static] + PROPERTY name:anonymous visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY BLOCK type=kotlin.Function0 origin=ANONYMOUS_FUNCTION - FUN name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - FUNCTION_REFERENCE 'FUN name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=ANONYMOUS_FUNCTION - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:anonymous visibility:public modality:FINAL flags:[val] + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .anonymous' type=kotlin.Function0 origin=ANONYMOUS_FUNCTION + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:anonymous visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public flags:[final,static]' type=kotlin.Function0 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public [final,static] ' type=kotlin.Function0 origin=null diff --git a/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt b/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt index 9ffbf91d5e3..706dded8cfb 100644 --- a/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt +++ b/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt @@ -1,167 +1,167 @@ FILE fqName: fileName:/destructuringInLambda.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.A flags:[primary] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.A [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int + VALUE_PARAMETER name:y index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'x: kotlin.Int declared in .A.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - PROPERTY name:y visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:y visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A flags:[] + GET_VAR 'y: kotlin.Int declared in .A.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .A' + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.component1' type=.A origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.A, x:kotlin.Int, y:kotlin.Int) returnType:.A flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.Int declared in .A' + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.component2' type=.A origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.A, x:kotlin.Int, y:kotlin.Int) returnType:.A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:x index:0 type:kotlin.Int EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.copy' type=.A origin=null + VALUE_PARAMETER name:y index:1 type:kotlin.Int EXPRESSION_BODY - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.copy' type=.A origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.A, x:kotlin.Int, y:kotlin.Int) returnType:.A flags:[]' - CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.A flags:[primary]' type=.A origin=null - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String flags:[] + RETURN type=kotlin.Nothing from='public final fun copy (x: kotlin.Int, y: kotlin.Int): .A declared in .A' + CALL 'public constructor (x: kotlin.Int, y: kotlin.Int) [primary] declared in .A' type=.A origin=null + x: GET_VAR 'x: kotlin.Int declared in .A.copy' type=kotlin.Int origin=null + y: GET_VAR 'y: kotlin.Int declared in .A.copy' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String flags:[]' + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .A' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="A(" CONST String type=kotlin.String value="x=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.toString' type=.A origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="y=" - CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.toString' type=.A origin=null CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int flags:[] + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .A.hashCode' type=kotlin.Unit origin=EQ + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.hashCode' type=.A origin=null + SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .A.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .A.hashCode' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 - other: CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - $this: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int flags:[]' - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + other: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.hashCode' type=.A origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .A' + GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .A.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:.A flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - arg1: GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .A declared in .A.equals' type=.A origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.A - typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + typeOperand: CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A flags:[val] + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A [val] TYPE_OP type=.A origin=CAST typeOperand=.A - typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + typeOperand: CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A flags:[val]' type=.A origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.equals' type=.A origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .A [val] declared in .A.equals' type=.A origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - arg1: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A flags:[val]' type=.A origin=null - then: RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.equals' type=.A origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'val tmp0_other_with_cast: .A [val] declared in .A.equals' type=.A origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' CONST Boolean type=kotlin.Boolean value=true - PROPERTY name:fn visibility:public modality:FINAL flags:[var] - FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public flags:[static] + PROPERTY name:fn visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public [static] EXPRESSION_BODY BLOCK type=kotlin.Function1<.A, kotlin.Int> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.A) returnType:kotlin.Int flags:[] - VALUE_PARAMETER name: index:0 type:.A flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.A) returnType:kotlin.Int + VALUE_PARAMETER name: index:0 type:.A BLOCK_BODY - VAR name:y type:kotlin.Int flags:[val] - CALL 'FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=COMPONENT_N(index=2) - $this: GET_VAR 'VALUE_PARAMETER name: index:0 type:.A flags:[]' type=.A origin=DESTRUCTURING_DECLARATION - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.A) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS + VAR name:y type:kotlin.Int [val] + CALL 'public final fun component2 (): kotlin.Int declared in .A' type=kotlin.Int origin=COMPONENT_N(index=2) + $this: GET_VAR ': .A declared in .fn.' type=.A origin=DESTRUCTURING_DECLARATION + RETURN type=kotlin.Nothing from='local final fun (: .A): kotlin.Int declared in .fn' + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS $this: CONST Int type=kotlin.Int value=42 - other: GET_VAR 'VAR name:y type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.A) returnType:kotlin.Int flags:[]' type=kotlin.Function1<.A, kotlin.Int> origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1<.A, kotlin.Int> flags:[] - correspondingProperty: PROPERTY name:fn visibility:public modality:FINAL flags:[var] + other: GET_VAR 'val y: kotlin.Int [val] declared in .fn.' type=kotlin.Int origin=null + FUNCTION_REFERENCE 'local final fun (: .A): kotlin.Int declared in .fn' type=kotlin.Function1<.A, kotlin.Int> origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1<.A, kotlin.Int> + correspondingProperty: PROPERTY name:fn visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1<.A, kotlin.Int> flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public flags:[static]' type=kotlin.Function1<.A, kotlin.Int> origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Function1<.A, kotlin.Int>) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:fn visibility:public modality:FINAL flags:[var] - VALUE_PARAMETER name: index:0 type:kotlin.Function1<.A, kotlin.Int> flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function1<.A, kotlin.Int> declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public [static] ' type=kotlin.Function1<.A, kotlin.Int> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Function1<.A, kotlin.Int>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:fn visibility:public modality:FINAL [var] + VALUE_PARAMETER name: index:0 type:kotlin.Function1<.A, kotlin.Int> BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public flags:[static]' type=kotlin.Unit origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Function1<.A, kotlin.Int> flags:[]' type=kotlin.Function1<.A, kotlin.Int> origin=null + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public [static] ' type=kotlin.Unit origin=null + value: GET_VAR ': kotlin.Function1<.A, kotlin.Int> declared in .' type=kotlin.Function1<.A, kotlin.Int> origin=null diff --git a/compiler/testData/ir/irText/lambdas/extensionLambda.txt b/compiler/testData/ir/irText/lambdas/extensionLambda.txt index 5dee768de52..6ce82631c70 100644 --- a/compiler/testData/ir/irText/lambdas/extensionLambda.txt +++ b/compiler/testData/ir/irText/lambdas/extensionLambda.txt @@ -1,16 +1,16 @@ FILE fqName: fileName:/extensionLambda.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:run visibility:public modality:FINAL ($receiver:kotlin.run.T, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.run.R flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.Int declared in ' + CALL 'public final fun run (block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): R of kotlin.run [inline] declared in kotlin' type=kotlin.Int origin=null : kotlin.String : kotlin.Int $receiver: CONST String type=kotlin.String value="42" - block: BLOCK type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] + block: BLOCK type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.String flags:[]' type=kotlin.String origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1' + CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': kotlin.String declared in .test1.' type=kotlin.String origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test1' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA diff --git a/compiler/testData/ir/irText/lambdas/justLambda.txt b/compiler/testData/ir/irText/lambdas/justLambda.txt index 166fe4462d0..c82bdb8205a 100644 --- a/compiler/testData/ir/irText/lambdas/justLambda.txt +++ b/compiler/testData/ir/irText/lambdas/justLambda.txt @@ -1,29 +1,29 @@ FILE fqName: fileName:/justLambda.kt - PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public flags:[final,static] + PROPERTY name:test1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test1' type=kotlin.Function0 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public flags:[final,static]' type=kotlin.Function0 origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function0 visibility:public flags:[final,static] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] ' type=kotlin.Function0 origin=null + PROPERTY name:test2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[] - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test2' type=kotlin.Function0 origin=LAMBDA + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function0 visibility:public flags:[final,static]' type=kotlin.Function0 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function0 visibility:public [final,static] ' type=kotlin.Function0 origin=null diff --git a/compiler/testData/ir/irText/lambdas/localFunction.txt b/compiler/testData/ir/irText/lambdas/localFunction.txt index 41c41bbb1ea..a98ae8db1d4 100644 --- a/compiler/testData/ir/irText/lambdas/localFunction.txt +++ b/compiler/testData/ir/irText/lambdas/localFunction.txt @@ -1,17 +1,17 @@ FILE fqName: fileName:/localFunction.kt - FUN name:outer visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:outer visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:x type:kotlin.Int flags:[var] + VAR name:x type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 - FUN name:local visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:local visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - CALL 'FUN name:local visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + GET_VAR 'var x: kotlin.Int [var] declared in .outer' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var x: kotlin.Int [var] declared in .outer' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0: kotlin.Int [val] declared in .outer.local' type=kotlin.Int origin=null + GET_VAR 'val tmp0: kotlin.Int [val] declared in .outer.local' type=kotlin.Int origin=null + CALL 'local final fun local (): kotlin.Unit declared in .outer' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt index d8d74589f19..6ae95f5ee27 100644 --- a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt +++ b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt @@ -1,124 +1,124 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt - CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] + CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS OBJECT name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:private <> () returnType:.B flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:private <> () returnType:.B [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo flags:[] - PROPERTY name:foo visibility:public modality:OPEN flags:[val] - FUN name: visibility:public modality:OPEN <> ($this:.IFoo, $receiver:.A) returnType:.B flags:[] - correspondingProperty: PROPERTY name:foo visibility:public modality:OPEN flags:[val] - $this: VALUE_PARAMETER name: type:.IFoo flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo + PROPERTY name:foo visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.IFoo, $receiver:.A) returnType:.B + correspondingProperty: PROPERTY name:foo visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.IFoo + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.IFoo, $receiver:.A) returnType:.B flags:[]' - GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.B - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public open fun (): .B declared in .IFoo' + GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.B + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:IInvoke modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IInvoke flags:[] - FUN name:invoke visibility:public modality:OPEN <> ($this:.IInvoke, $receiver:.B) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:.IInvoke flags:[] - $receiver: VALUE_PARAMETER name: type:.B flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:IInvoke modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IInvoke + FUN name:invoke visibility:public modality:OPEN <> ($this:.IInvoke, $receiver:.B) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.IInvoke + $receiver: VALUE_PARAMETER name: type:.B BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:invoke visibility:public modality:OPEN <> ($this:.IInvoke, $receiver:.B) returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public open fun invoke (): kotlin.Int declared in .IInvoke' CONST Int type=kotlin.Int value=42 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:test visibility:public modality:FINAL <> (fooImpl:.IFoo, invokeImpl:.IInvoke) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:fooImpl index:0 type:.IFoo flags:[] - VALUE_PARAMETER name:invokeImpl index:1 type:.IInvoke flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (fooImpl:.IFoo, invokeImpl:.IInvoke) returnType:kotlin.Unit + VALUE_PARAMETER name:fooImpl index:0 type:.IFoo + VALUE_PARAMETER name:invokeImpl index:1 type:.IInvoke BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:with visibility:public modality:FINAL (receiver:kotlin.with.T, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.with.R flags:[inline]' type=kotlin.Int origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public final fun with (receiver: T of kotlin.with, block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): R of kotlin.with [inline] declared in kotlin' type=kotlin.Int origin=null : .A : kotlin.Int - receiver: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.A - block: BLOCK type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.A, kotlin.Int> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.A flags:[] + receiver: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A + block: BLOCK type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.A, kotlin.Int> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:with visibility:public modality:FINAL (receiver:kotlin.with.T, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.with.R flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test' + CALL 'public final fun with (receiver: T of kotlin.with, block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): R of kotlin.with [inline] declared in kotlin' type=kotlin.Int origin=null : .IFoo : kotlin.Int - receiver: GET_VAR 'VALUE_PARAMETER name:fooImpl index:0 type:.IFoo flags:[]' type=.IFoo origin=null - block: BLOCK type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IFoo, kotlin.Int> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IFoo) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.IFoo flags:[] + receiver: GET_VAR 'fooImpl: .IFoo declared in .test' type=.IFoo origin=null + block: BLOCK type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IFoo, kotlin.Int> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IFoo) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.IFoo BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IFoo) returnType:kotlin.Int flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:with visibility:public modality:FINAL (receiver:kotlin.with.T, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.with.R flags:[inline]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test.' + CALL 'public final fun with (receiver: T of kotlin.with, block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): R of kotlin.with [inline] declared in kotlin' type=kotlin.Int origin=null : .IInvoke : kotlin.Int - receiver: GET_VAR 'VALUE_PARAMETER name:invokeImpl index:1 type:.IInvoke flags:[]' type=.IInvoke origin=null - block: BLOCK type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IInvoke, kotlin.Int> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IInvoke) returnType:kotlin.Int flags:[] - $receiver: VALUE_PARAMETER name: type:.IInvoke flags:[] + receiver: GET_VAR 'invokeImpl: .IInvoke declared in .test' type=.IInvoke origin=null + block: BLOCK type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IInvoke, kotlin.Int> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IInvoke) returnType:kotlin.Int + $receiver: VALUE_PARAMETER name: type:.IInvoke BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IInvoke) returnType:kotlin.Int flags:[]' - CALL 'FUN name:invoke visibility:public modality:OPEN <> ($this:.IInvoke, $receiver:.B) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name: type:.IInvoke flags:[]' type=.IInvoke origin=null - $receiver: CALL 'FUN name: visibility:public modality:OPEN <> ($this:.IFoo, $receiver:.A) returnType:.B flags:[]' type=.B origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.IFoo flags:[]' type=.IFoo origin=null - $receiver: GET_VAR 'VALUE_PARAMETER name: type:.A flags:[]' type=.A origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IInvoke) returnType:kotlin.Int flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IInvoke, kotlin.Int> origin=LAMBDA - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IFoo) returnType:kotlin.Int flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IFoo, kotlin.Int> origin=LAMBDA - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A) returnType:kotlin.Int flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.A, kotlin.Int> origin=LAMBDA + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test..' + CALL 'public open fun invoke (): kotlin.Int declared in .IInvoke' type=kotlin.Int origin=INVOKE + $this: GET_VAR ': .IInvoke declared in .test...' type=.IInvoke origin=null + $receiver: CALL 'public open fun (): .B declared in .IFoo' type=.B origin=GET_PROPERTY + $this: GET_VAR ': .IFoo declared in .test..' type=.IFoo origin=null + $receiver: GET_VAR ': .A declared in .test.' type=.A origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test..' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IInvoke, kotlin.Int> origin=LAMBDA + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test.' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.IFoo, kotlin.Int> origin=LAMBDA + FUNCTION_REFERENCE 'local final fun (): kotlin.Int declared in .test' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1<.A, kotlin.Int> origin=LAMBDA diff --git a/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt b/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt index aad6e277441..4a36c4b3712 100644 --- a/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt +++ b/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt @@ -1,90 +1,90 @@ FILE fqName: fileName:/nonLocalReturn.kt - FUN name:test0 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test0 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:run visibility:public modality:FINAL (block:kotlin.Function0) returnType:kotlin.run.R flags:[inline]' type=kotlin.Nothing origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Nothing origin=null : kotlin.Nothing block: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test0 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='public final fun test0 (): kotlin.Unit declared in ' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Nothing declared in .test0' type=kotlin.Function0 origin=LAMBDA + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:run visibility:public modality:FINAL (block:kotlin.Function0) returnType:kotlin.run.R flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null : kotlin.Unit block: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test1' type=kotlin.Function0 origin=LAMBDA + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:run visibility:public modality:FINAL (block:kotlin.Function0) returnType:kotlin.run.R flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null : kotlin.Unit block: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test2' type=kotlin.Function0 origin=LAMBDA + FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:run visibility:public modality:FINAL (block:kotlin.Function0) returnType:kotlin.run.R flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null : kotlin.Unit block: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:run visibility:public modality:FINAL (block:kotlin.Function0) returnType:kotlin.run.R flags:[inline]' type=kotlin.Nothing origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test3' + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Nothing origin=null : kotlin.Nothing block: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Function0 origin=LAMBDA - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - FUN name:testLrmFoo1 visibility:public modality:FINAL <> (ints:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List flags:[] + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test3' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUNCTION_REFERENCE 'local final fun (): kotlin.Nothing declared in .test3.' type=kotlin.Function0 origin=LAMBDA + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test3' type=kotlin.Function0 origin=LAMBDA + FUN name:testLrmFoo1 visibility:public modality:FINAL <> (ints:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:forEach visibility:public modality:FINAL ($receiver:kotlin.collections.Iterable, action:kotlin.Function1) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun forEach (action: kotlin.Function1): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Int - $receiver: GET_VAR 'VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + $receiver: GET_VAR 'ints: kotlin.collections.List declared in .testLrmFoo1' type=kotlin.collections.List origin=null action: BLOCK type=kotlin.Function1 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'it: kotlin.Int declared in .testLrmFoo1.' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 - then: RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:print visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: GET_VAR 'VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Function1 origin=LAMBDA - FUN name:testLrmFoo2 visibility:public modality:FINAL <> (ints:kotlin.collections.List) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List flags:[] + then: RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Unit declared in .testLrmFoo1' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Unit declared in .testLrmFoo1' + CALL 'public final fun print (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'it: kotlin.Int declared in .testLrmFoo1.' type=kotlin.Int origin=null + FUNCTION_REFERENCE 'local final fun (it: kotlin.Int): kotlin.Unit declared in .testLrmFoo1' type=kotlin.Function1 origin=LAMBDA + FUN name:testLrmFoo2 visibility:public modality:FINAL <> (ints:kotlin.collections.List) returnType:kotlin.Unit + VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List BLOCK_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:forEach visibility:public modality:FINAL ($receiver:kotlin.collections.Iterable, action:kotlin.Function1) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + CALL 'public final fun forEach (action: kotlin.Function1): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Int - $receiver: GET_VAR 'VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List flags:[]' type=kotlin.collections.List origin=null + $receiver: GET_VAR 'ints: kotlin.collections.List declared in .testLrmFoo2' type=kotlin.collections.List origin=null action: BLOCK type=kotlin.Function1 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit + VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'it: kotlin.Int declared in .testLrmFoo2.' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 - then: RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[]' - GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:print visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null - message: GET_VAR 'VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Function1 origin=LAMBDA + then: RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Unit declared in .testLrmFoo2' + GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Unit declared in .testLrmFoo2' + CALL 'public final fun print (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'it: kotlin.Int declared in .testLrmFoo2.' type=kotlin.Int origin=null + FUNCTION_REFERENCE 'local final fun (it: kotlin.Int): kotlin.Unit declared in .testLrmFoo2' type=kotlin.Function1 origin=LAMBDA diff --git a/compiler/testData/ir/irText/lambdas/samAdapter.txt b/compiler/testData/ir/irText/lambdas/samAdapter.txt index 6658becddf8..e8de7c92010 100644 --- a/compiler/testData/ir/irText/lambdas/samAdapter.txt +++ b/compiler/testData/ir/irText/lambdas/samAdapter.txt @@ -1,15 +1,15 @@ FILE fqName: fileName:/samAdapter.kt - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:hello type:java.lang.Runnable flags:[val] + VAR name:hello type:java.lang.Runnable [val] TYPE_OP type=java.lang.Runnable origin=SAM_CONVERSION typeOperand=java.lang.Runnable - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Runnable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value="Hello, world!" - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' type=kotlin.Function0 origin=LAMBDA - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:run visibility:public modality:ABSTRACT <> ($this:java.lang.Runnable) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VAR name:hello type:java.lang.Runnable flags:[val]' type=java.lang.Runnable origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .test1' type=kotlin.Function0 origin=LAMBDA + CALL 'public abstract fun run (): kotlin.Unit declared in java.lang.Runnable' type=kotlin.Unit origin=null + $this: GET_VAR 'val hello: java.lang.Runnable [val] declared in .test1' type=java.lang.Runnable origin=null diff --git a/compiler/testData/ir/irText/regressions/coercionInLoop.txt b/compiler/testData/ir/irText/regressions/coercionInLoop.txt index 4b169a2114d..9858d0c4157 100644 --- a/compiler/testData/ir/irText/regressions/coercionInLoop.txt +++ b/compiler/testData/ir/irText/regressions/coercionInLoop.txt @@ -1,39 +1,39 @@ FILE fqName: fileName:/coercionInLoop.kt - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - VAR name:a type:kotlin.DoubleArray flags:[val] - CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (size:kotlin.Int) returnType:kotlin.DoubleArray flags:[primary]' type=kotlin.DoubleArray origin=null + VAR name:a type:kotlin.DoubleArray [val] + CALL 'public constructor (size: kotlin.Int) [primary] declared in kotlin.DoubleArray' type=kotlin.DoubleArray origin=null size: CONST Int type=kotlin.Int value=5 - VAR name:x type:kotlin.collections.DoubleIterator flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:FINAL <> ($this:kotlin.DoubleArray) returnType:kotlin.collections.DoubleIterator flags:[]' type=kotlin.collections.DoubleIterator origin=null - $this: GET_VAR 'VAR name:a type:kotlin.DoubleArray flags:[val]' type=kotlin.DoubleArray origin=null - VAR name:i type:kotlin.Int flags:[var] + VAR name:x type:kotlin.collections.DoubleIterator [val] + CALL 'public final fun iterator (): kotlin.collections.DoubleIterator declared in kotlin.DoubleArray' type=kotlin.collections.DoubleIterator origin=null + $this: GET_VAR 'val a: kotlin.DoubleArray [val] declared in .box' type=kotlin.DoubleArray origin=null + VAR name:i type:kotlin.Int [var] CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP - condition: CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VAR name:x type:kotlin.collections.DoubleIterator flags:[val]' type=kotlin.collections.DoubleIterator origin=null + condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.DoubleIterator' type=kotlin.Boolean origin=null + $this: GET_VAR 'val x: kotlin.collections.DoubleIterator [val] declared in .box' type=kotlin.collections.DoubleIterator origin=null body: BLOCK type=kotlin.Unit origin=null WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.DoubleArray, index:kotlin.Int) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'VAR name:a type:kotlin.DoubleArray flags:[val]' type=kotlin.DoubleArray origin=null - index: GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:FINAL <> ($this:kotlin.collections.DoubleIterator) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null - $this: GET_VAR 'VAR name:x type:kotlin.collections.DoubleIterator flags:[val]' type=kotlin.collections.DoubleIterator origin=null - then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + if: CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun get (index: kotlin.Int): kotlin.Double declared in kotlin.DoubleArray' type=kotlin.Double origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val a: kotlin.DoubleArray [val] declared in .box' type=kotlin.DoubleArray origin=null + index: GET_VAR 'var i: kotlin.Int [var] declared in .box' type=kotlin.Int origin=null + arg1: CALL 'public final fun next (): kotlin.Double declared in kotlin.collections.DoubleIterator' type=kotlin.Double origin=null + $this: GET_VAR 'val x: kotlin.collections.DoubleIterator [val] declared in .box' type=kotlin.collections.DoubleIterator origin=null + then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Fail " - GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + GET_VAR 'var i: kotlin.Int [var] declared in .box' type=kotlin.Int origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val] - GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int [val] + GET_VAR 'var i: kotlin.Int [var] declared in .box' type=kotlin.Int origin=POSTFIX_INCR + SET_VAR 'var i: kotlin.Int [var] declared in .box' type=kotlin.Unit origin=POSTFIX_INCR + CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp0: kotlin.Int [val] declared in .box' type=kotlin.Int origin=null + GET_VAR 'val tmp0: kotlin.Int [val] declared in .box' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="OK" diff --git a/compiler/testData/ir/irText/regressions/integerCoercionToT.txt b/compiler/testData/ir/irText/regressions/integerCoercionToT.txt index 6c5284a02ec..27b477a83a2 100644 --- a/compiler/testData/ir/irText/regressions/integerCoercionToT.txt +++ b/compiler/testData/ir/irText/regressions/integerCoercionToT.txt @@ -1,96 +1,96 @@ FILE fqName: fileName:/integerCoercionToT.kt - CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CPointed flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CPointed + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:reinterpret visibility:public modality:FINAL ($receiver:.CPointed) returnType:.reinterpret.T flags:[inline] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:reinterpret visibility:public modality:FINAL ($receiver:.CPointed) returnType:T of .reinterpret [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[.CPointed] - $receiver: VALUE_PARAMETER name: type:.CPointed flags:[] + $receiver: VALUE_PARAMETER name: type:.CPointed BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:reinterpret visibility:public modality:FINAL ($receiver:.CPointed) returnType:.reinterpret.T flags:[inline]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null - CLASS CLASS name:CInt32VarX modality:FINAL visibility:public flags:[] superTypes:[.CPointed] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CInt32VarX<.CInt32VarX.T> flags:[] + RETURN type=kotlin.Nothing from='public final fun reinterpret (): T of .reinterpret [inline] declared in ' + CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null + CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[.CPointed] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CInt32VarX.CInt32VarX> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX<.CInt32VarX.T> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX.CInt32VarX> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CInt32VarX modality:FINAL visibility:public flags:[] superTypes:[.CPointed]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[.CPointed]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - PROPERTY name:value visibility:public modality:FINAL flags:[var] - FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX<..T_INT>) returnType:..T_INT flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:value visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX.>) returnType:T_INT of . + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] - $receiver: VALUE_PARAMETER name: type:.CInt32VarX<..T_INT> flags:[] + $receiver: VALUE_PARAMETER name: type:.CInt32VarX.> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX<..T_INT>) returnType:..T_INT flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null - FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX<..T_INT>, value:..T_INT) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[var] + RETURN type=kotlin.Nothing from='public final fun (): T_INT of . declared in ' + CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null + FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX.>, value:T_INT of .) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] - $receiver: VALUE_PARAMETER name: type:.CInt32VarX<..T_INT> flags:[] - VALUE_PARAMETER name:value index:0 type:..T_INT flags:[] + $receiver: VALUE_PARAMETER name: type:.CInt32VarX.> + VALUE_PARAMETER name:value index:0 type:T_INT of . BLOCK_BODY - CLASS CLASS name:IdType modality:FINAL visibility:public flags:[] superTypes:[.CPointed] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IdType flags:[] - CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.IdType flags:[primary] - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + CLASS CLASS name:IdType modality:FINAL visibility:public superTypes:[.CPointed] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IdType + CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.IdType [primary] + VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IdType modality:FINAL visibility:public flags:[] superTypes:[.CPointed]' - PROPERTY name:value visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IdType modality:FINAL visibility:public superTypes:[.CPointed]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IdType) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.IdType flags:[] + GET_VAR 'value: kotlin.Int declared in .IdType.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IdType) returnType:kotlin.Int + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.IdType BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IdType) returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.IdType flags:[]' type=.IdType origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .IdType' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + receiver: GET_VAR ': .IdType declared in .IdType.' type=.IdType origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:foo visibility:public modality:FINAL <> (value:.IdType, cv:.CInt32VarX) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:value index:0 type:.IdType flags:[] - VALUE_PARAMETER name:cv index:1 type:.CInt32VarX flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> (value:.IdType, cv:.CInt32VarX) returnType:kotlin.Unit + VALUE_PARAMETER name:value index:0 type:.IdType + VALUE_PARAMETER name:cv index:1 type:.CInt32VarX BLOCK_BODY - CALL 'FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX<..T_INT>, value:..T_INT) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ + CALL 'public final fun (value: T_INT of .): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ <`0>: kotlin.Int - $receiver: GET_VAR 'VALUE_PARAMETER name:cv index:1 type:.CInt32VarX flags:[]' type=.CInt32VarX origin=null - value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.IdType) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:value index:0 type:.IdType flags:[]' type=.IdType origin=null + $receiver: GET_VAR 'cv: .CInt32VarX declared in .foo' type=.CInt32VarX origin=null + value: CALL 'public final fun (): kotlin.Int declared in .IdType' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'value: .IdType declared in .foo' type=.IdType origin=null diff --git a/compiler/testData/ir/irText/regressions/kt24114.txt b/compiler/testData/ir/irText/regressions/kt24114.txt index b4e7e52dd99..0787abc1d38 100644 --- a/compiler/testData/ir/irText/regressions/kt24114.txt +++ b/compiler/testData/ir/irText/regressions/kt24114.txt @@ -1,64 +1,64 @@ FILE fqName: fileName:/kt24114.kt - FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun one (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=1 - FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + RETURN type=kotlin.Nothing from='public final fun two (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=2 - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY WHILE label=null origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null BLOCK type=kotlin.Nothing origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val] - CALL 'FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int [val] + CALL 'public final fun one (): kotlin.Int declared in ' type=kotlin.Int origin=null WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=1 then: BLOCK type=kotlin.Nothing origin=null BLOCK type=kotlin.Nothing origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int flags:[val] - CALL 'FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int [val] + CALL 'public final fun two (): kotlin.Int declared in ' type=kotlin.Int origin=null WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_subject: kotlin.Int [val] declared in .test1' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=2 - then: RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=2 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=3 - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY WHILE label=null origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null BLOCK type=kotlin.Nothing origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val] - CALL 'FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int [val] + CALL 'public final fun one (): kotlin.Int declared in ' type=kotlin.Int origin=null WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=1 then: BLOCK type=kotlin.Nothing origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int flags:[val] - CALL 'FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int [val] + CALL 'public final fun two (): kotlin.Int declared in ' type=kotlin.Int origin=null WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int flags:[val]' type=kotlin.Int origin=null + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'val tmp1_subject: kotlin.Int [val] declared in .test2' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=2 - then: RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=2 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + then: RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=3 diff --git a/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt b/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt index a536ca79b5f..eb1d075ea46 100644 --- a/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt +++ b/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt @@ -1,50 +1,50 @@ FILE fqName: fileName:/fixationOrder1.kt - FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1<.foo.X, .foo.Y> flags:[] + FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1.foo, Y of .foo> TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1<.foo.X, .foo.Y> flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null - CLASS INTERFACE name:Inv2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Inv2<.Inv2.A, .Inv2.B> flags:[] + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Function1.foo, Y of .foo> declared in ' + CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null + CLASS INTERFACE name:Inv2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Inv2.Inv2, B of .Inv2> TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:check visibility:public modality:FINAL (x:.check.T, y:.check.R, f:kotlin.Function1<.check.T, .check.R>) returnType:.Inv2<.check.T, .check.R> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:check visibility:public modality:FINAL (x:T of .check, y:R of .check, f:kotlin.Function1.check, R of .check>) returnType:.Inv2.check, R of .check> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:.check.T flags:[] - VALUE_PARAMETER name:y index:1 type:.check.R flags:[] - VALUE_PARAMETER name:f index:2 type:kotlin.Function1<.check.T, .check.R> flags:[] + VALUE_PARAMETER name:x index:0 type:T of .check + VALUE_PARAMETER name:y index:1 type:R of .check + VALUE_PARAMETER name:f index:2 type:kotlin.Function1.check, R of .check> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:check visibility:public modality:FINAL (x:.check.T, y:.check.R, f:kotlin.Function1<.check.T, .check.R>) returnType:.Inv2<.check.T, .check.R> flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null - FUN name:test visibility:public modality:FINAL <> () returnType:.Inv2 flags:[] + RETURN type=kotlin.Nothing from='public final fun check (x: T of .check, y: R of .check, f: kotlin.Function1.check, R of .check>): .Inv2.check, R of .check> declared in ' + CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null + FUN name:test visibility:public modality:FINAL <> () returnType:.Inv2 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:.Inv2 flags:[]' - CALL 'FUN name:check visibility:public modality:FINAL (x:.check.T, y:.check.R, f:kotlin.Function1<.check.T, .check.R>) returnType:.Inv2<.check.T, .check.R> flags:[]' type=.Inv2 origin=null + RETURN type=kotlin.Nothing from='public final fun test (): .Inv2 declared in ' + CALL 'public final fun check (x: T of .check, y: R of .check, f: kotlin.Function1.check, R of .check>): .Inv2.check, R of .check> declared in ' type=.Inv2 origin=null : kotlin.String : kotlin.Int x: CONST String type=kotlin.String value="" y: CONST Int type=kotlin.Int value=1 - f: CALL 'FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1<.foo.X, .foo.Y> flags:[]' type=kotlin.Function1 origin=null + f: CALL 'public final fun foo (): kotlin.Function1.foo, Y of .foo> declared in ' type=kotlin.Function1 origin=null : kotlin.String : kotlin.Int - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY - VAR name:x type:.Inv2 flags:[val] - CALL 'FUN name:test visibility:public modality:FINAL <> () returnType:.Inv2 flags:[]' type=.Inv2 origin=null - RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' + VAR name:x type:.Inv2 [val] + CALL 'public final fun test (): .Inv2 declared in ' type=.Inv2 origin=null + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="OK" diff --git a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt index a64cc699e05..6fea7f9daed 100644 --- a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt +++ b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt @@ -1,43 +1,43 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A<.A.Q> flags:[] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (q:.A.Q) returnType:.A<.A.Q> flags:[primary] - VALUE_PARAMETER name:q index:0 type:.A.Q flags:[] + CONSTRUCTOR visibility:public <> (q:Q of .A) returnType:.A.A> [primary] + VALUE_PARAMETER name:q index:0 type:Q of .A BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:q visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:q type:.A.Q visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + PROPERTY name:q visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:q type:Q of .A visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:q index:0 type:.A.Q flags:[]' type=.A.Q origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A<.A.Q>) returnType:.A.Q flags:[] - correspondingProperty: PROPERTY name:q visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.A<.A.Q> flags:[] + GET_VAR 'q: Q of .A declared in .A.' type=Q of .A origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A.A>) returnType:Q of .A + correspondingProperty: PROPERTY name:q visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A.A> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A<.A.Q>) returnType:.A.Q flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:q type:.A.Q visibility:public flags:[final]' type=.A.Q origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.A<.A.Q> flags:[]' type=.A<.A.Q> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun (): Q of .A declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:q type:Q of .A visibility:public [final] ' type=Q of .A origin=null + receiver: GET_VAR ': .A.A> declared in .A.' type=.A.A> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:b type:.A flags:[val] - CALL 'CONSTRUCTOR visibility:public <> (q:.A.Q) returnType:.A<.A.Q> flags:[primary]' type=.A origin=null + VAR name:b type:.A [val] + CALL 'public constructor (q: Q of .A) [primary] declared in .A' type=.A origin=null : kotlin.Int q: CONST Int type=kotlin.Int value=2 - VAR name:b2 type:.A<.A> flags:[val] - CALL 'CONSTRUCTOR visibility:public <> (q:.A.Q) returnType:.A<.A.Q> flags:[primary]' type=.A<.A> origin=null + VAR name:b2 type:.A<.A> [val] + CALL 'public constructor (q: Q of .A) [primary] declared in .A' type=.A<.A> origin=null : .A - q: GET_VAR 'VAR name:b type:.A flags:[val]' type=.A origin=null + q: GET_VAR 'val b: .A [val] declared in .bar' type=.A origin=null diff --git a/compiler/testData/ir/irText/singletons/companion.txt b/compiler/testData/ir/irText/singletons/companion.txt index 41473dd4fc1..2162e6fa21d 100644 --- a/compiler/testData/ir/irText/singletons/companion.txt +++ b/compiler/testData/ir/irText/singletons/companion.txt @@ -1,47 +1,47 @@ FILE fqName: fileName:/companion.kt - CLASS CLASS name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Z flags:[primary] + CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z + CONSTRUCTOR visibility:public <> () returnType:.Z [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:test2 visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:test2 visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY - CALL 'FUN name:test visibility:public modality:FINAL <> ($this:.Z.Companion) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' type=.Z.Companion - CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.Companion flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Z.Companion flags:[primary] + CALL 'public final fun test (): kotlin.Unit declared in .Z.Companion' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.Z.Companion + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.Companion + CONSTRUCTOR visibility:private <> () returnType:.Z.Companion [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' - FUN name:test visibility:public modality:FINAL <> ($this:.Z.Companion) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z.Companion flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN name:test visibility:public modality:FINAL <> ($this:.Z.Companion) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z.Companion BLOCK_BODY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/singletons/enumEntry.txt b/compiler/testData/ir/irText/singletons/enumEntry.txt index 27b4e1d102e..5d77f3c6da7 100644 --- a/compiler/testData/ir/irText/singletons/enumEntry.txt +++ b/compiler/testData/ir/irText/singletons/enumEntry.txt @@ -1,135 +1,135 @@ FILE fqName: fileName:/enumEntry.kt - CLASS ENUM_CLASS name:Z modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.Z>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Z flags:[primary] + CLASS ENUM_CLASS name:Z modality:OPEN visibility:public superTypes:[kotlin.Enum<.Z>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z + CONSTRUCTOR visibility:private <> () returnType:.Z [primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' >: .Z - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Z modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.Z>]' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Z modality:OPEN visibility:public superTypes:[kotlin.Enum<.Z>]' ENUM_ENTRY name:ENTRY - init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Z.ENTRY flags:[primary]' - class: CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public flags:[] superTypes:[.Z] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.ENTRY flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Z.ENTRY flags:[primary] + init: ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Z.ENTRY' + class: CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public superTypes:[.Z] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.ENTRY + CONSTRUCTOR visibility:private <> () returnType:.Z.ENTRY [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Z flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public flags:[] superTypes:[.Z]' - FUN name:test visibility:public modality:FINAL <> ($this:.Z.ENTRY) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z.ENTRY flags:[] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .Z' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public superTypes:[.Z]' + FUN name:test visibility:public modality:FINAL <> ($this:.Z.ENTRY) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z.ENTRY BLOCK_BODY - CLASS CLASS name:A modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.ENTRY.A flags:[] - CONSTRUCTOR visibility:public <> ($this:.Z.ENTRY) returnType:.Z.ENTRY.A flags:[primary] - $outer: VALUE_PARAMETER name: type:.Z.ENTRY flags:[] + CLASS CLASS name:A modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.ENTRY.A + CONSTRUCTOR visibility:public <> ($this:.Z.ENTRY) returnType:.Z.ENTRY.A [primary] + $outer: VALUE_PARAMETER name: type:.Z.ENTRY BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - FUN name:test2 visibility:public modality:FINAL <> ($this:.Z.ENTRY.A) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z.ENTRY.A flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + FUN name:test2 visibility:public modality:FINAL <> ($this:.Z.ENTRY.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z.ENTRY.A BLOCK_BODY - CALL 'FUN name:test visibility:public modality:FINAL <> ($this:.Z.ENTRY) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + CALL 'public final fun test (): kotlin.Unit declared in .Z.ENTRY' type=kotlin.Unit origin=null $this: GET_ENUM 'ENUM_ENTRY name:ENTRY' type=.Z.ENTRY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Any overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Unit flags:[] + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Unit overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:java.lang.Class<.Z?>? flags:[] + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:java.lang.Class<.Z?>? overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:java.lang.Class<.Z?>? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:.Z) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:java.lang.Class<.Z?>? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:.Z) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:.Z) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - VALUE_PARAMETER name:other index:0 type:.Z flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:.Z) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + VALUE_PARAMETER name:other index:0 type:.Z + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Any overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Unit flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:java.lang.Class<.Z?>? flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:java.lang.Class<.Z?>? overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:.Z) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:.Z) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Enum.E) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - VALUE_PARAMETER name:other index:0 type:.Z flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E of kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + VALUE_PARAMETER name:other index:0 type:.Z + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Z>) returnType:kotlin.Int + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Z>) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> flags:[] - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Z> flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Enum<.Z> + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Z> SYNTHETIC_BODY kind=ENUM_VALUES - FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Z flags:[] - VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Z + VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/singletons/object.txt b/compiler/testData/ir/irText/singletons/object.txt index c706fcc4767..bb8cd4e7486 100644 --- a/compiler/testData/ir/irText/singletons/object.txt +++ b/compiler/testData/ir/irText/singletons/object.txt @@ -1,47 +1,47 @@ FILE fqName: fileName:/object.kt - CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] - CONSTRUCTOR visibility:private <> () returnType:.Z flags:[primary] + CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z + CONSTRUCTOR visibility:private <> () returnType:.Z [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:test visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:test visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY - CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.A flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Z.A flags:[primary] + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.A + CONSTRUCTOR visibility:public <> () returnType:.Z.A [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN name:test2 visibility:public modality:FINAL <> ($this:.Z.A) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Z.A flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN name:test2 visibility:public modality:FINAL <> ($this:.Z.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Z.A BLOCK_BODY - CALL 'FUN name:test visibility:public modality:FINAL <> ($this:.Z) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=.Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + CALL 'public final fun test (): kotlin.Unit declared in .Z' type=kotlin.Unit origin=null + $this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Z + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/stubs/builtinMap.txt b/compiler/testData/ir/irText/stubs/builtinMap.txt index b3d0ce676ac..73df029380f 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.txt @@ -1,38 +1,38 @@ FILE fqName: fileName:/builtinMap.kt - FUN name:plus visibility:public modality:FINAL ($receiver:kotlin.collections.Map.plus.K1, .plus.V1>, pair:kotlin.Pair<.plus.K1, .plus.V1>) returnType:kotlin.collections.Map<.plus.K1, .plus.V1> flags:[] + FUN name:plus visibility:public modality:FINAL ($receiver:kotlin.collections.Map.plus, V1 of .plus>, pair:kotlin.Pair.plus, V1 of .plus>) returnType:kotlin.collections.Map.plus, V1 of .plus> TYPE_PARAMETER name:K1 index:0 variance: superTypes:[kotlin.Any?] TYPE_PARAMETER name:V1 index:1 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:kotlin.collections.Map.plus.K1, .plus.V1> flags:[] - VALUE_PARAMETER name:pair index:0 type:kotlin.Pair<.plus.K1, .plus.V1> flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.collections.Map.plus, V1 of .plus> + VALUE_PARAMETER name:pair index:0 type:kotlin.Pair.plus, V1 of .plus> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:plus visibility:public modality:FINAL ($receiver:kotlin.collections.Map.plus.K1, .plus.V1>, pair:kotlin.Pair<.plus.K1, .plus.V1>) returnType:kotlin.collections.Map<.plus.K1, .plus.V1> flags:[]' - WHEN type=kotlin.collections.Map<.plus.K1, .plus.V1> origin=IF + RETURN type=kotlin.Nothing from='public final fun plus (pair: kotlin.Pair.plus, V1 of .plus>): kotlin.collections.Map.plus, V1 of .plus> declared in ' + WHEN type=kotlin.collections.Map.plus, V1 of .plus> origin=IF BRANCH - if: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:kotlin.collections.Map.plus.K1, .plus.V1> flags:[]' type=kotlin.collections.Map.plus.K1, .plus.V1> origin=null - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:mapOf visibility:public modality:FINAL (pair:kotlin.Pair) returnType:kotlin.collections.Map flags:[]' type=kotlin.collections.Map<.plus.K1, .plus.V1> origin=null - : .plus.K1 - : .plus.V1 - pair: GET_VAR 'VALUE_PARAMETER name:pair index:0 type:kotlin.Pair<.plus.K1, .plus.V1> flags:[]' type=kotlin.Pair<.plus.K1, .plus.V1> origin=null + if: CALL 'public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map' type=kotlin.Boolean origin=null + $this: GET_VAR ': kotlin.collections.Map.plus, V1 of .plus> declared in .plus' type=kotlin.collections.Map.plus, V1 of .plus> origin=null + then: CALL 'public final fun mapOf (pair: kotlin.Pair): kotlin.collections.Map declared in kotlin.collections' type=kotlin.collections.Map.plus, V1 of .plus> origin=null + : K1 of .plus + : V1 of .plus + pair: GET_VAR 'pair: kotlin.Pair.plus, V1 of .plus> declared in .plus' type=kotlin.Pair.plus, V1 of .plus> origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:apply visibility:public modality:FINAL ($receiver:kotlin.apply.T, block:@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.apply.T flags:[inline]' type=java.util.LinkedHashMap<.plus.K1?, .plus.V1?> origin=null - : java.util.LinkedHashMap<.plus.K1?, .plus.V1?> - $receiver: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> (p0:kotlin.collections.Map?) returnType:java.util.LinkedHashMap flags:[]' type=java.util.LinkedHashMap<.plus.K1?, .plus.V1?> origin=null - : .plus.K1? - : .plus.V1? - p0: GET_VAR 'VALUE_PARAMETER name: type:kotlin.collections.Map.plus.K1, .plus.V1> flags:[]' type=kotlin.collections.Map.plus.K1, .plus.V1> origin=null - block: BLOCK type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1.plus.K1?, .plus.V1?>, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:java.util.LinkedHashMap<.plus.K1?, .plus.V1?>) returnType:kotlin.Unit flags:[] - $receiver: VALUE_PARAMETER name: type:java.util.LinkedHashMap<.plus.K1?, .plus.V1?> flags:[] + then: CALL 'public final fun apply (block: @[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1): T of kotlin.apply [inline] declared in kotlin' type=java.util.LinkedHashMap.plus?, V1 of .plus?> origin=null + : java.util.LinkedHashMap.plus?, V1 of .plus?> + $receiver: CALL 'public constructor (p0: kotlin.collections.Map?) declared in java.util.LinkedHashMap' type=java.util.LinkedHashMap.plus?, V1 of .plus?> origin=null + : K1 of .plus? + : V1 of .plus? + p0: GET_VAR ': kotlin.collections.Map.plus, V1 of .plus> declared in .plus' type=kotlin.collections.Map.plus, V1 of .plus> origin=null + block: BLOCK type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1.plus?, V1 of .plus?>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:java.util.LinkedHashMap.plus?, V1 of .plus?>) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:java.util.LinkedHashMap.plus?, V1 of .plus?> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:java.util.LinkedHashMap<.plus.K1?, .plus.V1?>) returnType:kotlin.Unit flags:[]' + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .plus' TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:java.util.HashMap, key:java.util.LinkedHashMap.K, value:java.util.LinkedHashMap.V) returnType:java.util.LinkedHashMap.V? flags:[]' type=.plus.V1? origin=null - $this: GET_VAR 'VALUE_PARAMETER name: type:java.util.LinkedHashMap<.plus.K1?, .plus.V1?> flags:[]' type=java.util.LinkedHashMap<.plus.K1?, .plus.V1?> origin=null - key: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Pair) returnType:kotlin.Pair.A flags:[]' type=.plus.K1 origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:pair index:0 type:kotlin.Pair<.plus.K1, .plus.V1> flags:[]' type=kotlin.Pair<.plus.K1, .plus.V1> origin=null - value: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Pair) returnType:kotlin.Pair.B flags:[]' type=.plus.V1 origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name:pair index:0 type:kotlin.Pair<.plus.K1, .plus.V1> flags:[]' type=kotlin.Pair<.plus.K1, .plus.V1> origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:java.util.LinkedHashMap<.plus.K1?, .plus.V1?>) returnType:kotlin.Unit flags:[]' type=@[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.ExtensionFunctionType flags:[primary]' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1.plus.K1?, .plus.V1?>, kotlin.Unit> origin=LAMBDA + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public open fun put (key: K of java.util.LinkedHashMap, value: V of java.util.LinkedHashMap): V of java.util.LinkedHashMap? declared in java.util.LinkedHashMap' type=V1 of .plus? origin=null + $this: GET_VAR ': java.util.LinkedHashMap.plus?, V1 of .plus?> declared in .plus.' type=java.util.LinkedHashMap.plus?, V1 of .plus?> origin=null + key: CALL 'public final fun (): A of kotlin.Pair declared in kotlin.Pair' type=K1 of .plus origin=GET_PROPERTY + $this: GET_VAR 'pair: kotlin.Pair.plus, V1 of .plus> declared in .plus' type=kotlin.Pair.plus, V1 of .plus> origin=null + value: CALL 'public final fun (): B of kotlin.Pair declared in kotlin.Pair' type=V1 of .plus origin=GET_PROPERTY + $this: GET_VAR 'pair: kotlin.Pair.plus, V1 of .plus> declared in .plus' type=kotlin.Pair.plus, V1 of .plus> origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Unit declared in .plus' type=@[CALL 'public constructor () [primary] declared in kotlin.ExtensionFunctionType' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1.plus?, V1 of .plus?>, kotlin.Unit> origin=LAMBDA diff --git a/compiler/testData/ir/irText/stubs/constFromBuiltins.txt b/compiler/testData/ir/irText/stubs/constFromBuiltins.txt index 5f49d88af9a..35c14456a6e 100644 --- a/compiler/testData/ir/irText/stubs/constFromBuiltins.txt +++ b/compiler/testData/ir/irText/stubs/constFromBuiltins.txt @@ -1,11 +1,11 @@ FILE fqName: fileName:/constFromBuiltins.kt - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[kotlin.Any]' type=kotlin.Int.Companion - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + CALL 'public final fun (): kotlin.Int declared in kotlin.Int.Companion' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=kotlin.Int.Companion + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/stubs/constFromBuiltins__kotlin.Int.txt b/compiler/testData/ir/irText/stubs/constFromBuiltins__kotlin.Int.txt index e0cab98e05e..e77620199ee 100644 --- a/compiler/testData/ir/irText/stubs/constFromBuiltins__kotlin.Int.txt +++ b/compiler/testData/ir/irText/stubs/constFromBuiltins__kotlin.Int.txt @@ -1,259 +1,259 @@ -CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[; ; ] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:private <> () returnType:kotlin.Int flags:[primary] - FUN IR_EXTERNAL_DECLARATION_STUB name:and visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] +CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public superTypes:[; ; ] + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:private <> () returnType:kotlin.Int [primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:and visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:ABSTRACT <> ($this:<>, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:ABSTRACT <> ($this:<>, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:dec visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: flags:[] - $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:inv visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:or visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:shl visibility:public modality:FINAL <> ($this:kotlin.Int, bitCount:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:bitCount index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:shr visibility:public modality:FINAL <> ($this:kotlin.Int, bitCount:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:bitCount index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: + FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:inv visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:or visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:shl visibility:public modality:FINAL <> ($this:kotlin.Int, bitCount:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:bitCount index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:shr visibility:public modality:FINAL <> ($this:kotlin.Int, bitCount:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:bitCount index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type: + FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:ABSTRACT <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:toChar visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:ABSTRACT <> ($this:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:toChar visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toChar visibility:public modality:ABSTRACT <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toChar visibility:public modality:ABSTRACT <> ($this:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:ABSTRACT <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:ABSTRACT <> ($this:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:ABSTRACT <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:ABSTRACT <> ($this:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:ABSTRACT <> ($this:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:toLong visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:ABSTRACT <> ($this:) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:toLong visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toLong visibility:public modality:ABSTRACT <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:toShort visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toLong visibility:public modality:ABSTRACT <> ($this:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:toShort visibility:public modality:OPEN <> ($this:kotlin.Int) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toShort visibility:public modality:ABSTRACT <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toShort visibility:public modality:ABSTRACT <> ($this:) returnType: + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:unaryPlus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:ushr visibility:public modality:FINAL <> ($this:kotlin.Int, bitCount:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:bitCount index:0 type:kotlin.Int flags:[] - FUN IR_EXTERNAL_DECLARATION_STUB name:xor visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:[] - CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Companion modality:FINAL visibility:public flags:[companion] superTypes:[] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion flags:[] - CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:private <> () returnType:kotlin.Int.Companion flags:[primary] - PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MAX_VALUE visibility:public modality:FINAL flags:[const,val] - FIELD IR_EXTERNAL_DECLARATION_STUB name:MAX_VALUE type:kotlin.Int visibility:public flags:[final] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: + FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:unaryPlus visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:ushr visibility:public modality:FINAL <> ($this:kotlin.Int, bitCount:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:bitCount index:0 type:kotlin.Int + FUN IR_EXTERNAL_DECLARATION_STUB name:xor visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int + CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[] + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion + CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:private <> () returnType:kotlin.Int.Companion [primary] + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MAX_VALUE visibility:public modality:FINAL [const,val] + FIELD IR_EXTERNAL_DECLARATION_STUB name:MAX_VALUE type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type= value=2147483647 - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MAX_VALUE visibility:public modality:FINAL flags:[const,val] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion flags:[] - PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE visibility:public modality:FINAL flags:[const,val] - FIELD IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE type:kotlin.Int visibility:public flags:[final] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MAX_VALUE visibility:public modality:FINAL [const,val] + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE visibility:public modality:FINAL [const,val] + FIELD IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type= value=-2147483648 - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE visibility:public modality:FINAL flags:[const,val] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion flags:[] - PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BITS visibility:public modality:FINAL flags:[const,val] - FIELD IR_EXTERNAL_DECLARATION_STUB name:SIZE_BITS type:kotlin.Int visibility:public flags:[final] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE visibility:public modality:FINAL [const,val] + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BITS visibility:public modality:FINAL [const,val] + FIELD IR_EXTERNAL_DECLARATION_STUB name:SIZE_BITS type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type= value=32 - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BITS visibility:public modality:FINAL flags:[const,val] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion flags:[] - PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BYTES visibility:public modality:FINAL flags:[const,val] - FIELD IR_EXTERNAL_DECLARATION_STUB name:SIZE_BYTES type:kotlin.Int visibility:public flags:[final] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BITS visibility:public modality:FINAL [const,val] + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BYTES visibility:public modality:FINAL [const,val] + FIELD IR_EXTERNAL_DECLARATION_STUB name:SIZE_BYTES type:kotlin.Int visibility:public [final] EXPRESSION_BODY CONST Int type= value=4 - FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BYTES visibility:public modality:FINAL flags:[const,val] - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> ($this:kotlin.Int.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:SIZE_BYTES visibility:public modality:FINAL [const,val] + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int.Companion + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: flags:[] - $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:) returnType:kotlin.Int + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:) returnType: flags:[] - $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:) returnType: + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.txt index 904c37773da..eae7fed941f 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.txt @@ -1,57 +1,57 @@ FILE fqName: fileName:/genericClassInDifferentModule_m1.kt - CLASS CLASS name:Base modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base<.Base.T> flags:[] + CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base.Base> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:.Base.T) returnType:.Base<.Base.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Base.T flags:[] + CONSTRUCTOR visibility:public <> (x:T of .Base) returnType:.Base.Base> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Base BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - PROPERTY name:x visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:x type:.Base.T visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + PROPERTY name:x visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:x type:T of .Base visibility:public [final] EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Base.T flags:[]' type=.Base.T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base<.Base.T>) returnType:.Base.T flags:[] - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Base<.Base.T> flags:[] + GET_VAR 'x: T of .Base declared in .Base.' type=T of .Base origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base.Base>) returnType:T of .Base + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Base.Base> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base<.Base.T>) returnType:.Base.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:.Base.T visibility:public flags:[final]' type=.Base.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Base<.Base.T> flags:[]' type=.Base<.Base.T> origin=null - FUN name:foo visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, y:.Base.foo.Y) returnType:.Base.T flags:[] + RETURN type=kotlin.Nothing from='public final fun (): T of .Base declared in .Base' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Base visibility:public [final] ' type=T of .Base origin=null + receiver: GET_VAR ': .Base.Base> declared in .Base.' type=.Base.Base> origin=null + FUN name:foo visibility:public modality:ABSTRACT ($this:.Base.Base>, y:Y of .Base.foo) returnType:T of .Base TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Base<.Base.T> flags:[] - VALUE_PARAMETER name:y index:0 type:.Base.foo.Y flags:[] - PROPERTY name:bar visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base<.Base.T>) returnType:.Base.T flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.Base<.Base.T> flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base<.Base.T>, :.Base.T) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT flags:[var] - $this: VALUE_PARAMETER name: type:.Base<.Base.T> flags:[] - VALUE_PARAMETER name: index:0 type:.Base.T flags:[] - PROPERTY name:exn visibility:public modality:ABSTRACT flags:[var] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, $receiver:.Base..Z) returnType:.Base.T flags:[] - correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT flags:[var] + $this: VALUE_PARAMETER name: type:.Base.Base> + VALUE_PARAMETER name:y index:0 type:Y of .Base.foo + PROPERTY name:bar visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base.Base>) returnType:T of .Base + correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.Base.Base> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base.Base>, :T of .Base) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.Base.Base> + VALUE_PARAMETER name: index:0 type:T of .Base + PROPERTY name:exn visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base.) returnType:T of .Base + correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var] TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Base<.Base.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Base..Z flags:[] - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, $receiver:.Base..Z, :.Base.T) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT flags:[var] + $this: VALUE_PARAMETER name: type:.Base.Base> + $receiver: VALUE_PARAMETER name: type:Z of .Base. + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base., :T of .Base) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var] TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Base<.Base.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Base..Z flags:[] - VALUE_PARAMETER name: index:0 type:.Base.T flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + $this: VALUE_PARAMETER name: type:.Base.Base> + $receiver: VALUE_PARAMETER name: type:Z of .Base. + VALUE_PARAMETER name: index:0 type:T of .Base + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.txt index 9e1188ad6ba..d4919e0a2e9 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.txt @@ -1,84 +1,84 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt - CLASS CLASS name:Derived1 modality:FINAL visibility:public flags:[] superTypes:[.Base<.Derived1.T>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1<.Derived1.T> flags:[] + CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base.Derived1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1.Derived1> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:.Derived1.T) returnType:.Derived1<.Derived1.T> flags:[primary] - VALUE_PARAMETER name:x index:0 type:.Derived1.T flags:[] + CONSTRUCTOR visibility:public <> (x:T of .Derived1) returnType:.Derived1.Derived1> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Derived1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:.Base.T) returnType:.Base<.Base.T> flags:[primary]' - : .Derived1.T - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Derived1.T flags:[]' type=.Derived1.T origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public flags:[] superTypes:[.Base<.Derived1.T>]' - FUN name:foo visibility:public modality:OPEN ($this:.Derived1<.Derived1.T>, y:.Derived1.foo.Y) returnType:.Derived1.T flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: T of .Base) [primary] declared in .Base' + : T of .Derived1 + x: GET_VAR 'x: T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base.Derived1>]' + FUN name:foo visibility:public modality:OPEN ($this:.Derived1.Derived1>, y:Y of .Derived1.foo) returnType:T of .Derived1 overridden: - FUN name:foo visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, y:.Base.foo.Y) returnType:.Base.T flags:[] + FUN name:foo visibility:public modality:ABSTRACT ($this:.Base.Base>, y:Y of .Base.foo) returnType:T of .Base TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[] - VALUE_PARAMETER name:y index:0 type:.Derived1.foo.Y flags:[] + $this: VALUE_PARAMETER name: type:.Derived1.Derived1> + VALUE_PARAMETER name:y index:0 type:Y of .Derived1.foo BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:OPEN ($this:.Derived1<.Derived1.T>, y:.Derived1.foo.Y) returnType:.Derived1.T flags:[]' - CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base<.Derived1.T>) returnType:.Derived1.T flags:[]' type=.Derived1.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[]' type=.Derived1<.Derived1.T> origin=null - PROPERTY name:bar visibility:public modality:OPEN flags:[var] - FIELD PROPERTY_BACKING_FIELD name:bar type:.Derived1.T visibility:public flags:[] + RETURN type=kotlin.Nothing from='public open fun foo (y: Y of .Derived1.foo): T of .Derived1 declared in .Derived1' + CALL 'public final fun (): T of .Derived1 declared in .Derived1' type=T of .Derived1 origin=GET_PROPERTY + $this: GET_VAR ': .Derived1.Derived1> declared in .Derived1.foo' type=.Derived1.Derived1> origin=null + PROPERTY name:bar visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:bar type:T of .Derived1 visibility:public EXPRESSION_BODY - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.Derived1.T flags:[]' type=.Derived1.T origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Derived1<.Derived1.T>) returnType:.Derived1.T flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[var] + GET_VAR 'x: T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Derived1.Derived1>) returnType:T of .Derived1 + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base<.Base.T>) returnType:.Base.T flags:[] - $this: VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base.Base>) returnType:T of .Base + $this: VALUE_PARAMETER name: type:.Derived1.Derived1> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Derived1<.Derived1.T>) returnType:.Derived1.T flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:.Derived1.T visibility:public flags:[]' type=.Derived1.T origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[]' type=.Derived1<.Derived1.T> origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Derived1<.Derived1.T>, :.Derived1.T) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[var] + RETURN type=kotlin.Nothing from='public open fun (): T of .Derived1 declared in .Derived1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:T of .Derived1 visibility:public ' type=T of .Derived1 origin=null + receiver: GET_VAR ': .Derived1.Derived1> declared in .Derived1.' type=.Derived1.Derived1> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.Derived1.Derived1>, :T of .Derived1) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base<.Base.T>, :.Base.T) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[] - VALUE_PARAMETER name: index:0 type:.Derived1.T flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Base.Base>, :T of .Base) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Derived1.Derived1> + VALUE_PARAMETER name: index:0 type:T of .Derived1 BLOCK_BODY - SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:.Derived1.T visibility:public flags:[]' type=kotlin.Unit origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[]' type=.Derived1<.Derived1.T> origin=null - value: GET_VAR 'VALUE_PARAMETER name: index:0 type:.Derived1.T flags:[]' type=.Derived1.T origin=null - PROPERTY name:exn visibility:public modality:OPEN flags:[var] - FUN name: visibility:public modality:OPEN ($this:.Derived1<.Derived1.T>, $receiver:.Derived1..Z) returnType:.Derived1.T flags:[] - correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN flags:[var] + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:T of .Derived1 visibility:public ' type=kotlin.Unit origin=null + receiver: GET_VAR ': .Derived1.Derived1> declared in .Derived1.' type=.Derived1.Derived1> origin=null + value: GET_VAR ': T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null + PROPERTY name:exn visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN ($this:.Derived1.Derived1>, $receiver:Z of .Derived1.) returnType:T of .Derived1 + correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, $receiver:.Base..Z) returnType:.Base.T flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base.) returnType:T of .Base TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Derived1..Z flags:[] + $this: VALUE_PARAMETER name: type:.Derived1.Derived1> + $receiver: VALUE_PARAMETER name: type:Z of .Derived1. BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN ($this:.Derived1<.Derived1.T>, $receiver:.Derived1..Z) returnType:.Derived1.T flags:[]' - CALL 'FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base<.Derived1.T>) returnType:.Derived1.T flags:[]' type=.Derived1.T origin=GET_PROPERTY - $this: GET_VAR 'VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[]' type=.Derived1<.Derived1.T> origin=null - FUN name: visibility:public modality:OPEN ($this:.Derived1<.Derived1.T>, $receiver:.Derived1..Z, value:.Derived1.T) returnType:kotlin.Unit flags:[] - correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN flags:[var] + RETURN type=kotlin.Nothing from='public open fun (): T of .Derived1 declared in .Derived1' + CALL 'public final fun (): T of .Derived1 declared in .Derived1' type=T of .Derived1 origin=GET_PROPERTY + $this: GET_VAR ': .Derived1.Derived1> declared in .Derived1.' type=.Derived1.Derived1> origin=null + FUN name: visibility:public modality:OPEN ($this:.Derived1.Derived1>, $receiver:Z of .Derived1., value:T of .Derived1) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN [var] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, $receiver:.Base..Z, :.Base.T) returnType:kotlin.Unit flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base., :T of .Base) returnType:kotlin.Unit TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[] - $receiver: VALUE_PARAMETER name: type:.Derived1..Z flags:[] - VALUE_PARAMETER name:value index:0 type:.Derived1.T flags:[] + $this: VALUE_PARAMETER name: type:.Derived1.Derived1> + $receiver: VALUE_PARAMETER name: type:Z of .Derived1. + VALUE_PARAMETER name:value index:0 type:T of .Derived1 BLOCK_BODY - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base<.Derived1.T>) returnType:.Derived1.T flags:[] - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[val] + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base.Derived1>) returnType:T of .Derived1 + correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base<.Base.T>) returnType:.Base.T flags:[] - $this: VALUE_PARAMETER name: type:.Base<.Derived1.T> flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base.Base>) returnType:T of .Base + $this: VALUE_PARAMETER name: type:.Base.Derived1> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/stubs/javaEnum.txt b/compiler/testData/ir/irText/stubs/javaEnum.txt index d467a567f13..738325088b2 100644 --- a/compiler/testData/ir/irText/stubs/javaEnum.txt +++ b/compiler/testData/ir/irText/stubs/javaEnum.txt @@ -1,10 +1,10 @@ FILE fqName: fileName:/javaEnum.kt - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:.JEnum visibility:public flags:[final,static] + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:.JEnum visibility:public [final,static] EXPRESSION_BODY GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ONE' type=.JEnum - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.JEnum flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.JEnum + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:.JEnum flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:.JEnum visibility:public flags:[final,static]' type=.JEnum origin=null + RETURN type=kotlin.Nothing from='public final fun (): .JEnum declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:.JEnum visibility:public [final,static] ' type=.JEnum origin=null diff --git a/compiler/testData/ir/irText/stubs/javaInnerClass.txt b/compiler/testData/ir/irText/stubs/javaInnerClass.txt index 53890d7b5bc..5208556244c 100644 --- a/compiler/testData/ir/irText/stubs/javaInnerClass.txt +++ b/compiler/testData/ir/irText/stubs/javaInnerClass.txt @@ -1,40 +1,40 @@ FILE fqName: fileName:/javaInnerClass.kt - CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.J] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] + CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + CONSTRUCTOR visibility:public <> () returnType:.Test1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.J flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[.J]' - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:.J.JInner visibility:public flags:[final] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.J]' + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:.J.JInner visibility:public [final] EXPRESSION_BODY - CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> ($this:.J) returnType:.J.JInner flags:[primary]' type=.J.JInner origin=null - $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[]' type=.Test1 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:.J.JInner flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] - $this: VALUE_PARAMETER name: type:.Test1 flags:[] + CALL 'public constructor () [primary] declared in .J.JInner' type=.J.JInner origin=null + $this: GET_VAR ': .Test1 declared in .Test1' type=.Test1 origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:.J.JInner + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Test1 BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:.J.JInner flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:.J.JInner visibility:public flags:[final]' type=.J.JInner origin=null - receiver: GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:[var] - FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public flags:[] + RETURN type=kotlin.Nothing from='public final fun (): .J.JInner declared in .Test1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:.J.JInner visibility:public [final] ' type=.J.JInner origin=null + receiver: GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [var] + FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public overridden: - FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:x type:kotlin.Int visibility:public flags:[] - FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit flags:[] + FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:x type:kotlin.Int visibility:public + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit overridden: - FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit flags:[] - $this: VALUE_PARAMETER name: type:.J flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/stubs/javaMethod.txt b/compiler/testData/ir/irText/stubs/javaMethod.txt index 4af8411d586..968f1900cc1 100644 --- a/compiler/testData/ir/irText/stubs/javaMethod.txt +++ b/compiler/testData/ir/irText/stubs/javaMethod.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/javaMethod.kt - FUN name:test visibility:public modality:FINAL <> (j:.J) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:j index:0 type:.J flags:[] + FUN name:test visibility:public modality:FINAL <> (j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:j index:0 type:.J BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (j:.J) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name:j index:0 type:.J flags:[]' type=.J origin=null + RETURN type=kotlin.Nothing from='public final fun test (j: .J): kotlin.Unit declared in ' + CALL 'public open fun bar (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/stubs/javaNestedClass.txt b/compiler/testData/ir/irText/stubs/javaNestedClass.txt index 9d6486425c6..1e5c71ad087 100644 --- a/compiler/testData/ir/irText/stubs/javaNestedClass.txt +++ b/compiler/testData/ir/irText/stubs/javaNestedClass.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/javaNestedClass.kt - FUN name:test visibility:public modality:FINAL <> (jj:.J.JJ) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:jj index:0 type:.J.JJ flags:[] + FUN name:test visibility:public modality:FINAL <> (jj:.J.JJ) returnType:kotlin.Unit + VALUE_PARAMETER name:jj index:0 type:.J.JJ BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (jj:.J.JJ) returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:foo visibility:public modality:OPEN <> ($this:.J.JJ) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name:jj index:0 type:.J.JJ flags:[]' type=.J.JJ origin=null + RETURN type=kotlin.Nothing from='public final fun test (jj: .J.JJ): kotlin.Unit declared in ' + CALL 'public open fun foo (): kotlin.Unit declared in .J.JJ' type=kotlin.Unit origin=null + $this: GET_VAR 'jj: .J.JJ declared in .test' type=.J.JJ origin=null diff --git a/compiler/testData/ir/irText/stubs/javaStaticMethod.txt b/compiler/testData/ir/irText/stubs/javaStaticMethod.txt index 7b1ba12f9bc..e28d9a728b7 100644 --- a/compiler/testData/ir/irText/stubs/javaStaticMethod.txt +++ b/compiler/testData/ir/irText/stubs/javaStaticMethod.txt @@ -1,5 +1,5 @@ FILE fqName: fileName:/javaStaticMethod.kt - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]' - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Unit declared in ' + CALL 'public open fun bar (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/stubs/javaSyntheticProperty.txt b/compiler/testData/ir/irText/stubs/javaSyntheticProperty.txt index 1f331fe0ad7..0acb4277c1a 100644 --- a/compiler/testData/ir/irText/stubs/javaSyntheticProperty.txt +++ b/compiler/testData/ir/irText/stubs/javaSyntheticProperty.txt @@ -1,11 +1,11 @@ FILE fqName: fileName:/javaSyntheticProperty.kt - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String? visibility:public flags:[final,static] + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String? visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getFoo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.String? flags:[]' type=kotlin.String? origin=GET_PROPERTY - $this: CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public/*package*/ <> () returnType:.J flags:[primary]' type=.J origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String? flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + CALL 'public open fun getFoo (): kotlin.String? declared in .J' type=kotlin.String? origin=GET_PROPERTY + $this: CALL 'public/*package*/ constructor () [primary] declared in .J' type=.J origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String? + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String? flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String? visibility:public flags:[final,static]' type=kotlin.String? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String? visibility:public [final,static] ' type=kotlin.String? origin=null diff --git a/compiler/testData/ir/irText/stubs/jdkClassSyntheticProperty.txt b/compiler/testData/ir/irText/stubs/jdkClassSyntheticProperty.txt index e5ed0a95be8..3bdcd4c8750 100644 --- a/compiler/testData/ir/irText/stubs/jdkClassSyntheticProperty.txt +++ b/compiler/testData/ir/irText/stubs/jdkClassSyntheticProperty.txt @@ -1,10 +1,10 @@ FILE fqName: fileName:/jdkClassSyntheticProperty.kt - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FUN name: visibility:public modality:FINAL <> ($receiver:java.lang.Class<*>) returnType:kotlin.Array? flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] - $receiver: VALUE_PARAMETER name: type:java.lang.Class<*> flags:[] + PROPERTY name:test visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($receiver:java.lang.Class<*>) returnType:kotlin.Array? + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] + $receiver: VALUE_PARAMETER name: type:java.lang.Class<*> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:java.lang.Class<*>) returnType:kotlin.Array? flags:[]' - CALL 'FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:getDeclaredFields visibility:public modality:OPEN <> ($this:java.lang.Class) returnType:kotlin.Array? flags:[]' type=kotlin.Array? origin=GET_PROPERTY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Array? declared in ' + CALL 'public open fun getDeclaredFields (): kotlin.Array? declared in java.lang.Class' type=kotlin.Array? origin=GET_PROPERTY <`0>: kotlin.Any? - $this: GET_VAR 'VALUE_PARAMETER name: type:java.lang.Class<*> flags:[]' type=java.lang.Class<*> origin=null + $this: GET_VAR ': java.lang.Class<*> declared in .' type=java.lang.Class<*> origin=null diff --git a/compiler/testData/ir/irText/stubs/kotlinInnerClass.txt b/compiler/testData/ir/irText/stubs/kotlinInnerClass.txt index fb64fef44f2..46241abd316 100644 --- a/compiler/testData/ir/irText/stubs/kotlinInnerClass.txt +++ b/compiler/testData/ir/irText/stubs/kotlinInnerClass.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/kotlinInnerClass.kt - FUN name:test visibility:public modality:FINAL <> (inner:.Outer.Inner) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:inner index:0 type:.Outer.Inner flags:[] + FUN name:test visibility:public modality:FINAL <> (inner:.Outer.Inner) returnType:kotlin.Unit + VALUE_PARAMETER name:inner index:0 type:.Outer.Inner BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (inner:.Outer.Inner) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - $this: GET_VAR 'VALUE_PARAMETER name:inner index:0 type:.Outer.Inner flags:[]' type=.Outer.Inner origin=null + RETURN type=kotlin.Nothing from='public final fun test (inner: .Outer.Inner): kotlin.Unit declared in ' + CALL 'public final fun foo (): kotlin.Unit declared in .Outer.Inner' type=kotlin.Unit origin=null + $this: GET_VAR 'inner: .Outer.Inner declared in .test' type=.Outer.Inner origin=null diff --git a/compiler/testData/ir/irText/stubs/simple.txt b/compiler/testData/ir/irText/stubs/simple.txt index 2ce1cceafb0..9036bac3e75 100644 --- a/compiler/testData/ir/irText/stubs/simple.txt +++ b/compiler/testData/ir/irText/stubs/simple.txt @@ -1,12 +1,12 @@ FILE fqName: fileName:/simple.kt - PROPERTY name:test visibility:public modality:FINAL flags:[val] - FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final,static] + PROPERTY name:test visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public [final,static] EXPRESSION_BODY - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS $this: CONST Int type=kotlin.Int value=2 other: CONST Int type=kotlin.Int value=2 - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] - correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/types/intersectionType1.txt b/compiler/testData/ir/irText/types/intersectionType1.txt index c9e118d1322..908090ac5e7 100644 --- a/compiler/testData/ir/irText/types/intersectionType1.txt +++ b/compiler/testData/ir/irText/types/intersectionType1.txt @@ -1,72 +1,72 @@ FILE fqName: fileName:/intersectionType1.kt - CLASS CLASS name:In modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In<.In.I> flags:[] + CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.In<.In.I> flags:[primary] + CONSTRUCTOR visibility:public <> () returnType:.In.In> [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:In modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:select visibility:public modality:FINAL (x:.select.S, y:.select.S) returnType:.select.S flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:select visibility:public modality:FINAL (x:S of .select, y:S of .select) returnType:S of .select TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:.select.S flags:[] - VALUE_PARAMETER name:y index:1 type:.select.S flags:[] + VALUE_PARAMETER name:x index:0 type:S of .select + VALUE_PARAMETER name:y index:1 type:S of .select BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:select visibility:public modality:FINAL (x:.select.S, y:.select.S) returnType:.select.S flags:[]' - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.select.S flags:[]' type=.select.S origin=null - FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In<.foo.T>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun select (x: S of .select, y: S of .select): S of .select declared in ' + GET_VAR 'x: S of .select declared in .select' type=S of .select origin=null + FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In.foo>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In<.foo.T>> flags:[] - VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In.foo>> + VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In<.foo.T>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean flags:[]' - CALL 'FUN name:ofType visibility:public modality:FINAL ($receiver:.In<.ofType.K>, y:kotlin.Any?) returnType:kotlin.Boolean flags:[inline]' type=kotlin.Boolean origin=null + RETURN type=kotlin.Nothing from='public final fun foo (a: kotlin.Array<.In.foo>>, b: kotlin.Array<.In>): kotlin.Boolean declared in ' + CALL 'public final fun ofType (y: kotlin.Any?): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null : kotlin.Any? - $receiver: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.Array, index:kotlin.Int) returnType:kotlin.Array.T flags:[]' type=.In origin=GET_ARRAY_ELEMENT - $this: CALL 'FUN name:select visibility:public modality:FINAL (x:.select.S, y:.select.S) returnType:.select.S flags:[]' type=kotlin.Array.In> origin=null + $receiver: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=.In origin=GET_ARRAY_ELEMENT + $this: CALL 'public final fun select (x: S of .select, y: S of .select): S of .select declared in ' type=kotlin.Array.In> origin=null : kotlin.Array.In> - x: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In<.foo.T>> flags:[]' type=kotlin.Array<.In<.foo.T>> origin=null - y: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> flags:[]' type=kotlin.Array<.In> origin=null + x: GET_VAR 'a: kotlin.Array<.In.foo>> declared in .foo' type=kotlin.Array<.In.foo>> origin=null + y: GET_VAR 'b: kotlin.Array<.In> declared in .foo' type=kotlin.Array<.In> origin=null index: CONST Int type=kotlin.Int value=0 y: CONST Boolean type=kotlin.Boolean value=true - FUN name:ofType visibility:public modality:FINAL ($receiver:.In<.ofType.K>, y:kotlin.Any?) returnType:kotlin.Boolean flags:[inline] + FUN name:ofType visibility:public modality:FINAL ($receiver:.In.ofType>, y:kotlin.Any?) returnType:kotlin.Boolean [inline] TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:.In<.ofType.K> flags:[] - VALUE_PARAMETER name:y index:0 type:kotlin.Any? flags:[] + $receiver: VALUE_PARAMETER name: type:.In.ofType> + VALUE_PARAMETER name:y index:0 type:kotlin.Any? BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:ofType visibility:public modality:FINAL ($receiver:.In<.ofType.K>, y:kotlin.Any?) returnType:kotlin.Boolean flags:[inline]' - TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=.ofType.K + RETURN type=kotlin.Nothing from='public final fun ofType (y: kotlin.Any?): kotlin.Boolean [inline] declared in ' + TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=K of .ofType typeOperand: TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name:y index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + GET_VAR 'y: kotlin.Any? declared in .ofType' type=kotlin.Any? origin=null + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - VAR name:a1 type:kotlin.Array<.In> flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:arrayOf visibility:public modality:FINAL (elements:kotlin.Array) returnType:kotlin.Array flags:[inline]' type=kotlin.Array<.In> origin=null + VAR name:a1 type:kotlin.Array<.In> [val] + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array [inline] declared in kotlin' type=kotlin.Array<.In> origin=null : .In elements: VARARG type=kotlin.Array.In> varargElementType=.In - CALL 'CONSTRUCTOR visibility:public <> () returnType:.In<.In.I> flags:[primary]' type=.In origin=null + CALL 'public constructor () [primary] declared in .In' type=.In origin=null : kotlin.Int - VAR name:a2 type:kotlin.Array<.In> flags:[val] - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:arrayOf visibility:public modality:FINAL (elements:kotlin.Array) returnType:kotlin.Array flags:[inline]' type=kotlin.Array<.In> origin=null + VAR name:a2 type:kotlin.Array<.In> [val] + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array [inline] declared in kotlin' type=kotlin.Array<.In> origin=null : .In elements: VARARG type=kotlin.Array.In> varargElementType=.In - CALL 'CONSTRUCTOR visibility:public <> () returnType:.In<.In.I> flags:[primary]' type=.In origin=null + CALL 'public constructor () [primary] declared in .In' type=.In origin=null : kotlin.String TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - CALL 'FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In<.foo.T>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + CALL 'public final fun foo (a: kotlin.Array<.In.foo>>, b: kotlin.Array<.In>): kotlin.Boolean declared in ' type=kotlin.Boolean origin=null : kotlin.Int - a: GET_VAR 'VAR name:a1 type:kotlin.Array<.In> flags:[val]' type=kotlin.Array<.In> origin=null - b: GET_VAR 'VAR name:a2 type:kotlin.Array<.In> flags:[val]' type=kotlin.Array<.In> origin=null + a: GET_VAR 'val a1: kotlin.Array<.In> [val] declared in .test' type=kotlin.Array<.In> origin=null + b: GET_VAR 'val a2: kotlin.Array<.In> [val] declared in .test' type=kotlin.Array<.In> origin=null diff --git a/compiler/testData/ir/irText/types/intersectionType2.txt b/compiler/testData/ir/irText/types/intersectionType2.txt index c75f4848ee9..e7d34890eae 100644 --- a/compiler/testData/ir/irText/types/intersectionType2.txt +++ b/compiler/testData/ir/irText/types/intersectionType2.txt @@ -1,106 +1,106 @@ FILE fqName: fileName:/intersectionType2.kt - CLASS INTERFACE name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A<.A.T> flags:[] + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:B modality:OPEN visibility:public flags:[] superTypes:[.Foo; .A<.B>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - CONSTRUCTOR visibility:public <> () returnType:.B flags:[primary] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:OPEN visibility:public superTypes:[.Foo; .A<.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:OPEN visibility:public flags:[] superTypes:[.Foo; .A<.B>]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:OPEN visibility:public superTypes:[.Foo; .A<.B>]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS CLASS name:C modality:OPEN visibility:public flags:[] superTypes:[.Foo; .A<.C>] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:OPEN visibility:public superTypes:[.Foo; .A<.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:OPEN visibility:public flags:[] superTypes:[.Foo; .A<.C>]' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:OPEN visibility:public superTypes:[.Foo; .A<.C>]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0<.run.T>) returnType:.run.T flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0.run>) returnType:T of .run TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:fn index:0 type:kotlin.Function0<.run.T> flags:[] + VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.run> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0<.run.T>) returnType:.run.T flags:[]' - CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=.run.T origin=INVOKE - $this: GET_VAR 'VALUE_PARAMETER name:fn index:0 type:kotlin.Function0<.run.T> flags:[]' type=kotlin.Function0<.run.T> origin=VARIABLE_AS_FUNCTION - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[] + RETURN type=kotlin.Nothing from='public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' + CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=T of .run origin=INVOKE + $this: GET_VAR 'fn: kotlin.Function0.run> declared in .run' type=kotlin.Function0.run> origin=VARIABLE_AS_FUNCTION + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' - CALL 'FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0<.run.T>) returnType:.run.T flags:[]' type=kotlin.Any origin=null + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Any declared in ' + CALL 'public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' type=kotlin.Any origin=null : kotlin.Any fn: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any flags:[] + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any BLOCK_BODY - VAR name:mm type:.B flags:[val] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.B flags:[primary]' type=.B origin=null - VAR name:nn type:.C flags:[val] - CALL 'CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary]' type=.C origin=null - VAR name:c type:kotlin.Any flags:[val] + VAR name:mm type:.B [val] + CALL 'public constructor () [primary] declared in .B' type=.B origin=null + VAR name:nn type:.C [val] + CALL 'public constructor () [primary] declared in .C' type=.C origin=null + VAR name:c type:kotlin.Any [val] WHEN type=kotlin.Any origin=IF BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR name:mm type:.B flags:[val]' type=.B origin=null + then: GET_VAR 'val mm: .B [val] declared in .foo.' type=.B origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'VAR name:nn type:.C flags:[val]' type=.C origin=null - RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any flags:[]' - GET_VAR 'VAR name:c type:kotlin.Any flags:[val]' type=kotlin.Any origin=null - FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any flags:[]' type=kotlin.Function0 origin=LAMBDA + then: GET_VAR 'val nn: .C [val] declared in .foo.' type=.C origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Any declared in .foo' + GET_VAR 'val c: kotlin.Any [val] declared in .foo.' type=kotlin.Any origin=null + FUNCTION_REFERENCE 'local final fun (): kotlin.Any declared in .foo' type=kotlin.Function0 origin=LAMBDA diff --git a/compiler/testData/ir/irText/types/intersectionType3.txt b/compiler/testData/ir/irText/types/intersectionType3.txt index 7d49ef58948..b9766aefa91 100644 --- a/compiler/testData/ir/irText/types/intersectionType3.txt +++ b/compiler/testData/ir/irText/types/intersectionType3.txt @@ -1,203 +1,203 @@ FILE fqName: fileName:/intersectionType3.kt - CLASS INTERFACE name:In modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In<.In.T> flags:[] + CLASS INTERFACE name:In modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:isT visibility:public modality:FINAL ($receiver:.In<.isT.T>) returnType:kotlin.Boolean flags:[inline] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:isT visibility:public modality:FINAL ($receiver:.In.isT>) returnType:kotlin.Boolean [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:.In<.isT.T> flags:[] + $receiver: VALUE_PARAMETER name: type:.In.isT> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:isT visibility:public modality:FINAL ($receiver:.In<.isT.T>) returnType:kotlin.Boolean flags:[inline]' - TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=.isT.T + RETURN type=kotlin.Nothing from='public final fun isT (): kotlin.Boolean [inline] declared in ' + TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T of .isT typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:.In<.isT.T> flags:[]' type=.In<.isT.T> origin=null - FUN name:asT visibility:public modality:FINAL ($receiver:.In<.asT.T>) returnType:kotlin.Unit flags:[inline] + GET_VAR ': .In.isT> declared in .isT' type=.In.isT> origin=null + FUN name:asT visibility:public modality:FINAL ($receiver:.In.asT>) returnType:kotlin.Unit [inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:.In<.asT.T> flags:[] + $receiver: VALUE_PARAMETER name: type:.In.asT> BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - TYPE_OP type=.asT.T origin=CAST typeOperand=.asT.T + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any] + TYPE_OP type=T of .asT origin=CAST typeOperand=T of .asT typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'VALUE_PARAMETER name: type:.In<.asT.T> flags:[]' type=.In<.asT.T> origin=null - FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[] + GET_VAR ': .In.asT> declared in .asT' type=.In.asT> origin=null + FUN name:sel visibility:public modality:FINAL (x:S of .sel, y:S of .sel) returnType:S of .sel TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:.sel.S flags:[] - VALUE_PARAMETER name:y index:1 type:.sel.S flags:[] + VALUE_PARAMETER name:x index:0 type:S of .sel + VALUE_PARAMETER name:y index:1 type:S of .sel BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' - GET_VAR 'VALUE_PARAMETER name:x index:0 type:.sel.S flags:[]' type=.sel.S origin=null - CLASS INTERFACE name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + RETURN type=kotlin.Nothing from='public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' + GET_VAR 'x: S of .sel declared in .sel' type=S of .sel origin=null + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:B modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:A1 modality:ABSTRACT visibility:public flags:[] superTypes:[.A] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:A1 modality:ABSTRACT visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:A2 modality:ABSTRACT visibility:public flags:[] superTypes:[.A] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:A2 modality:ABSTRACT visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:Z1 modality:ABSTRACT visibility:public flags:[] superTypes:[.A; .B] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z1 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:Z1 modality:ABSTRACT visibility:public superTypes:[.A; .B] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z1 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - CLASS INTERFACE name:Z2 modality:ABSTRACT visibility:public flags:[] superTypes:[.A; .B] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z2 flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:Z2 modality:ABSTRACT visibility:public superTypes:[.A; .B] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] - FUN name:testInIs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:.In<.A> flags:[] - VALUE_PARAMETER name:y index:1 type:.In<.B> flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:testInIs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:.In<.A> + VALUE_PARAMETER name:y index:1 type:.In<.B> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testInIs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Boolean flags:[]' - CALL 'FUN name:isT visibility:public modality:FINAL ($receiver:.In<.isT.T>) returnType:kotlin.Boolean flags:[inline]' type=kotlin.Boolean origin=null + RETURN type=kotlin.Nothing from='public final fun testInIs1 (x: .In<.A>, y: .In<.B>): kotlin.Boolean declared in ' + CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null : kotlin.Any - $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' type=.In origin=null + $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In origin=null : .In - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.In<.A> flags:[]' type=.In<.A> origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.In<.B> flags:[]' type=.In<.B> origin=null - FUN name:testInIs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:.In<.Z1> flags:[] - VALUE_PARAMETER name:y index:1 type:.In<.Z2> flags:[] + x: GET_VAR 'x: .In<.A> declared in .testInIs1' type=.In<.A> origin=null + y: GET_VAR 'y: .In<.B> declared in .testInIs1' type=.In<.B> origin=null + FUN name:testInIs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:.In<.Z1> + VALUE_PARAMETER name:y index:1 type:.In<.Z2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testInIs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Boolean flags:[]' - CALL 'FUN name:isT visibility:public modality:FINAL ($receiver:.In<.isT.T>) returnType:kotlin.Boolean flags:[inline]' type=kotlin.Boolean origin=null + RETURN type=kotlin.Nothing from='public final fun testInIs2 (x: .In<.Z1>, y: .In<.Z2>): kotlin.Boolean declared in ' + CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null : kotlin.Any - $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' type=.In origin=null + $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In origin=null : .In - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.In<.Z1> flags:[]' type=.In<.Z1> origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.In<.Z2> flags:[]' type=.In<.Z2> origin=null - FUN name:testInIs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Boolean flags:[] - VALUE_PARAMETER name:x index:0 type:.In<.A1> flags:[] - VALUE_PARAMETER name:y index:1 type:.In<.A2> flags:[] + x: GET_VAR 'x: .In<.Z1> declared in .testInIs2' type=.In<.Z1> origin=null + y: GET_VAR 'y: .In<.Z2> declared in .testInIs2' type=.In<.Z2> origin=null + FUN name:testInIs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Boolean + VALUE_PARAMETER name:x index:0 type:.In<.A1> + VALUE_PARAMETER name:y index:1 type:.In<.A2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testInIs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Boolean flags:[]' - CALL 'FUN name:isT visibility:public modality:FINAL ($receiver:.In<.isT.T>) returnType:kotlin.Boolean flags:[inline]' type=kotlin.Boolean origin=null + RETURN type=kotlin.Nothing from='public final fun testInIs3 (x: .In<.A1>, y: .In<.A2>): kotlin.Boolean declared in ' + CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null : .A - $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' type=.In<.A> origin=null + $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A> origin=null : .In<.A> - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.In<.A1> flags:[]' type=.In<.A1> origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.In<.A2> flags:[]' type=.In<.A2> origin=null - FUN name:testInAs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:.In<.A> flags:[] - VALUE_PARAMETER name:y index:1 type:.In<.B> flags:[] + x: GET_VAR 'x: .In<.A1> declared in .testInIs3' type=.In<.A1> origin=null + y: GET_VAR 'y: .In<.A2> declared in .testInIs3' type=.In<.A2> origin=null + FUN name:testInAs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:.In<.A> + VALUE_PARAMETER name:y index:1 type:.In<.B> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testInAs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:asT visibility:public modality:FINAL ($receiver:.In<.asT.T>) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun testInAs1 (x: .In<.A>, y: .In<.B>): kotlin.Unit declared in ' + CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null : kotlin.Any - $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' type=.In origin=null + $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In origin=null : .In - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.In<.A> flags:[]' type=.In<.A> origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.In<.B> flags:[]' type=.In<.B> origin=null - FUN name:testInAs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:.In<.Z1> flags:[] - VALUE_PARAMETER name:y index:1 type:.In<.Z2> flags:[] + x: GET_VAR 'x: .In<.A> declared in .testInAs1' type=.In<.A> origin=null + y: GET_VAR 'y: .In<.B> declared in .testInAs1' type=.In<.B> origin=null + FUN name:testInAs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:.In<.Z1> + VALUE_PARAMETER name:y index:1 type:.In<.Z2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testInAs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:asT visibility:public modality:FINAL ($receiver:.In<.asT.T>) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun testInAs2 (x: .In<.Z1>, y: .In<.Z2>): kotlin.Unit declared in ' + CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null : kotlin.Any - $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' type=.In origin=null + $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In origin=null : .In - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.In<.Z1> flags:[]' type=.In<.Z1> origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.In<.Z2> flags:[]' type=.In<.Z2> origin=null - FUN name:testInAs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Unit flags:[] - VALUE_PARAMETER name:x index:0 type:.In<.A1> flags:[] - VALUE_PARAMETER name:y index:1 type:.In<.A2> flags:[] + x: GET_VAR 'x: .In<.Z1> declared in .testInAs2' type=.In<.Z1> origin=null + y: GET_VAR 'y: .In<.Z2> declared in .testInAs2' type=.In<.Z2> origin=null + FUN name:testInAs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Unit + VALUE_PARAMETER name:x index:0 type:.In<.A1> + VALUE_PARAMETER name:y index:1 type:.In<.A2> BLOCK_BODY - RETURN type=kotlin.Nothing from='FUN name:testInAs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Unit flags:[]' - CALL 'FUN name:asT visibility:public modality:FINAL ($receiver:.In<.asT.T>) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null + RETURN type=kotlin.Nothing from='public final fun testInAs3 (x: .In<.A1>, y: .In<.A2>): kotlin.Unit declared in ' + CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null : .A - $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' type=.In<.A> origin=null + $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A> origin=null : .In<.A> - x: GET_VAR 'VALUE_PARAMETER name:x index:0 type:.In<.A1> flags:[]' type=.In<.A1> origin=null - y: GET_VAR 'VALUE_PARAMETER name:y index:1 type:.In<.A2> flags:[]' type=.In<.A2> origin=null + x: GET_VAR 'x: .In<.A1> declared in .testInAs3' type=.In<.A1> origin=null + y: GET_VAR 'y: .In<.A2> declared in .testInAs3' type=.In<.A2> origin=null diff --git a/compiler/testData/ir/sourceRanges/augmentedAssignmentWithExpression.txt b/compiler/testData/ir/sourceRanges/augmentedAssignmentWithExpression.txt index df80eb606f6..4fac0acf532 100644 --- a/compiler/testData/ir/sourceRanges/augmentedAssignmentWithExpression.txt +++ b/compiler/testData/ir/sourceRanges/augmentedAssignmentWithExpression.txt @@ -1,46 +1,46 @@ @0:0..23:0 FILE fqName:test fileName:/augmentedAssignmentWithExpression.kt - @2:0..8:1 CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @2:0..8:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Host flags:[] - @2:0..8:1 CONSTRUCTOR visibility:public <> () returnType:test.Host flags:[primary] + @2:0..8:1 CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] + @2:0..8:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Host + @2:0..8:1 CONSTRUCTOR visibility:public <> () returnType:test.Host [primary] @2:0..8:1 BLOCK_BODY - @2:0..8:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @2:0..8:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @3:13..38 FUN name:plusAssign visibility:public modality:FINAL <> ($this:test.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[] - @3:4..38 VALUE_PARAMETER name: type:test.Host flags:[] - @3:28..34 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @2:0..8:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @2:0..8:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' + @3:13..38 FUN name:plusAssign visibility:public modality:FINAL <> ($this:test.Host, x:kotlin.Int) returnType:kotlin.Unit + @3:4..38 VALUE_PARAMETER name: type:test.Host + @3:28..34 VALUE_PARAMETER name:x index:0 type:kotlin.Int @3:36..38 BLOCK_BODY - @5:4..7:5 FUN name:test1 visibility:public modality:FINAL <> ($this:test.Host) returnType:kotlin.Unit flags:[] - @5:4..7:5 VALUE_PARAMETER name: type:test.Host flags:[] + @5:4..7:5 FUN name:test1 visibility:public modality:FINAL <> ($this:test.Host) returnType:kotlin.Unit + @5:4..7:5 VALUE_PARAMETER name: type:test.Host @5:16..7:5 BLOCK_BODY - @6:8..17 CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:test.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - @6:8..12 GET_VAR 'VALUE_PARAMETER name: type:test.Host flags:[]' type=test.Host origin=PLUSEQ + @6:8..17 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in test.Host' type=kotlin.Unit origin=PLUSEQ + @6:8..12 GET_VAR ': test.Host declared in test.Host.test1' type=test.Host origin=PLUSEQ @6:16..17 CONST Int type=kotlin.Int value=1 - @2:0..8:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @2:0..8:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @2:0..8:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @2:0..8:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @2:0..8:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @2:0..8:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @2:0..8:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @10:0..18 FUN name:foo visibility:public modality:FINAL <> () returnType:test.Host flags:[] + @2:0..8:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @2:0..8:1 VALUE_PARAMETER name: type:kotlin.Any + @2:0..8:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @2:0..8:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @2:0..8:1 VALUE_PARAMETER name: type:kotlin.Any + @2:0..8:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @2:0..8:1 VALUE_PARAMETER name: type:kotlin.Any + @10:0..18 FUN name:foo visibility:public modality:FINAL <> () returnType:test.Host @10:12..18 BLOCK_BODY - @10:12..18 RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:test.Host flags:[]' - @10:12..18 CALL 'CONSTRUCTOR visibility:public <> () returnType:test.Host flags:[primary]' type=test.Host origin=null - @12:0..14:1 FUN name:test2 visibility:public modality:FINAL <> ($receiver:test.Host) returnType:kotlin.Unit flags:[] - @12:4..8 VALUE_PARAMETER name: type:test.Host flags:[] + @10:12..18 RETURN type=kotlin.Nothing from='public final fun foo (): test.Host declared in test' + @10:12..18 CALL 'public constructor () [primary] declared in test.Host' type=test.Host origin=null + @12:0..14:1 FUN name:test2 visibility:public modality:FINAL <> ($receiver:test.Host) returnType:kotlin.Unit + @12:4..8 VALUE_PARAMETER name: type:test.Host @12:17..14:1 BLOCK_BODY - @13:4..13 CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:test.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - @13:4..8 GET_VAR 'VALUE_PARAMETER name: type:test.Host flags:[]' type=test.Host origin=PLUSEQ + @13:4..13 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in test.Host' type=kotlin.Unit origin=PLUSEQ + @13:4..8 GET_VAR ': test.Host declared in test.test2' type=test.Host origin=PLUSEQ @13:12..13 CONST Int type=kotlin.Int value=1 - @16:0..18:1 FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + @16:0..18:1 FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit @16:12..18:1 BLOCK_BODY - @17:4..14 CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:test.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - @17:4..9 CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:test.Host flags:[]' type=test.Host origin=null + @17:4..14 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in test.Host' type=kotlin.Unit origin=PLUSEQ + @17:4..9 CALL 'public final fun foo (): test.Host declared in test' type=test.Host origin=null @17:13..14 CONST Int type=kotlin.Int value=1 - @20:0..22:1 FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit flags:[] - @20:10..23 VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] + @20:0..22:1 FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit + @20:10..23 VALUE_PARAMETER name:a index:0 type:kotlin.Function0 @20:25..22:1 BLOCK_BODY - @21:4..12 CALL 'FUN name:plusAssign visibility:public modality:FINAL <> ($this:test.Host, x:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=PLUSEQ - @21:4..7 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function0) returnType:kotlin.Function0.R flags:[]' type=test.Host origin=INVOKE - @21:4..5 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[]' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION + @21:4..12 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in test.Host' type=kotlin.Unit origin=PLUSEQ + @21:4..7 CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=test.Host origin=INVOKE + @21:4..5 GET_VAR 'a: kotlin.Function0 declared in test.test4' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION @21:11..12 CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/sourceRanges/comments.txt b/compiler/testData/ir/sourceRanges/comments.txt index 356ba19b604..0642ee22f5d 100644 --- a/compiler/testData/ir/sourceRanges/comments.txt +++ b/compiler/testData/ir/sourceRanges/comments.txt @@ -1,51 +1,51 @@ @0:0..33:1 FILE fqName: fileName:/comments.kt - @1:0..33:1 CLASS CLASS name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @1:0..33:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo flags:[] - @1:0..33:1 CONSTRUCTOR visibility:public <> () returnType:.Foo flags:[primary] + @1:0..33:1 CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any] + @1:0..33:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo + @1:0..33:1 CONSTRUCTOR visibility:public <> () returnType:.Foo [primary] @1:0..33:1 BLOCK_BODY - @1:0..33:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @1:0..33:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @8:4..10:36 CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - @8:4..10:36 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo.Inner flags:[] - @8:60..10:36 CONSTRUCTOR visibility:private <> ($this:.Foo, x:kotlin.Int) returnType:.Foo.Inner flags:[primary] - @8:52..79 VALUE_PARAMETER name: type:.Foo flags:[] - @8:72..78 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @1:0..33:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @1:0..33:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' + @8:4..10:36 CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + @8:4..10:36 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo.Inner + @8:60..10:36 CONSTRUCTOR visibility:private <> ($this:.Foo, x:kotlin.Int) returnType:.Foo.Inner [primary] + @8:52..79 VALUE_PARAMETER name: type:.Foo + @8:72..78 VALUE_PARAMETER name:x index:0 type:kotlin.Int @8:4..10:36 BLOCK_BODY - @8:4..10:36 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @8:4..10:36 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - @8:10..10:36 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @8:4..10:36 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @8:10..10:36 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @8:10..10:36 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @8:4..10:36 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @8:10..10:36 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @8:4..10:36 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @18:19..20:39 FUN name:foo visibility:protected modality:OPEN <> ($this:.Foo, y:kotlin.Int) returnType:kotlin.Unit flags:[] - @18:4..20:39 VALUE_PARAMETER name: type:.Foo flags:[] - @18:27..33 VALUE_PARAMETER name:y index:0 type:kotlin.Int flags:[] + @8:4..10:36 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @8:4..10:36 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + @8:10..10:36 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @8:4..10:36 VALUE_PARAMETER name: type:kotlin.Any + @8:10..10:36 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @8:10..10:36 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @8:4..10:36 VALUE_PARAMETER name: type:kotlin.Any + @8:10..10:36 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @8:4..10:36 VALUE_PARAMETER name: type:kotlin.Any + @18:19..20:39 FUN name:foo visibility:protected modality:OPEN <> ($this:.Foo, y:kotlin.Int) returnType:kotlin.Unit + @18:4..20:39 VALUE_PARAMETER name: type:.Foo + @18:27..33 VALUE_PARAMETER name:y index:0 type:kotlin.Int @18:35..20:39 BLOCK_BODY - @25:4..27:25 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @25:4..27:25 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @25:4..27:25 PROPERTY name:x visibility:public modality:FINAL [val] + @25:4..27:25 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @25:17..19 EXPRESSION_BODY @25:17..19 CONST Int type=kotlin.Int value=42 - @27:8..25 FUN name: visibility:public modality:FINAL <> ($this:.Foo) returnType:kotlin.Int flags:[] - @27:8..25 VALUE_PARAMETER name: type:.Foo flags:[] + @27:8..25 FUN name: visibility:public modality:FINAL <> ($this:.Foo) returnType:kotlin.Int + @27:8..25 VALUE_PARAMETER name: type:.Foo @27:16..25 BLOCK_BODY - @27:16..25 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Foo) returnType:kotlin.Int flags:[]' - @27:16..25 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS - @27:16..21 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @27:16..21 GET_VAR 'VALUE_PARAMETER name: type:.Foo flags:[]' type=.Foo origin=null + @27:16..25 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Foo' + @27:16..25 CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + @27:16..21 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @27:16..21 GET_VAR ': .Foo declared in .Foo.' type=.Foo origin=null @27:24..25 CONST Int type=kotlin.Int value=1 - @30:4..32:5 FUN name:test visibility:public modality:FINAL <> ($this:.Foo) returnType:kotlin.Unit flags:[] - @30:4..32:5 VALUE_PARAMETER name: type:.Foo flags:[] + @30:4..32:5 FUN name:test visibility:public modality:FINAL <> ($this:.Foo) returnType:kotlin.Unit + @30:4..32:5 VALUE_PARAMETER name: type:.Foo @30:15..32:5 BLOCK_BODY - @31:8..41 CALL 'FUN name:foo visibility:protected modality:OPEN <> ($this:.Foo, y:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null - @31:8..41 GET_VAR 'VALUE_PARAMETER name: type:.Foo flags:[]' type=.Foo origin=null + @31:8..41 CALL 'protected open fun foo (y: kotlin.Int): kotlin.Unit declared in .Foo' type=kotlin.Unit origin=null + @31:8..41 GET_VAR ': .Foo declared in .Foo.test' type=.Foo origin=null @31:38..40 CONST Int type=kotlin.Int value=42 - @1:0..33:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @1:0..33:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @1:0..33:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @1:0..33:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @1:0..33:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @1:0..33:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @1:0..33:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @1:0..33:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @1:0..33:1 VALUE_PARAMETER name: type:kotlin.Any + @1:0..33:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @1:0..33:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @1:0..33:1 VALUE_PARAMETER name: type:kotlin.Any + @1:0..33:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @1:0..33:1 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/classFuns.txt b/compiler/testData/ir/sourceRanges/declarations/classFuns.txt index b9d36bd99a7..1ffda10312b 100644 --- a/compiler/testData/ir/sourceRanges/declarations/classFuns.txt +++ b/compiler/testData/ir/sourceRanges/declarations/classFuns.txt @@ -1,26 +1,26 @@ @0:0..23:1 FILE fqName:test fileName:/classFuns.kt - @3:0..23:1 CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @3:0..23:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Test flags:[] - @3:0..23:1 CONSTRUCTOR visibility:public <> () returnType:test.Test flags:[primary] + @3:0..23:1 CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] + @3:0..23:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Test + @3:0..23:1 CONSTRUCTOR visibility:public <> () returnType:test.Test [primary] @3:0..23:1 BLOCK_BODY - @3:0..23:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @3:0..23:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @5:4..18 FUN name:test0 visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit flags:[] - @5:4..18 VALUE_PARAMETER name: type:test.Test flags:[] + @3:0..23:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @3:0..23:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' + @5:4..18 FUN name:test0 visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit + @5:4..18 VALUE_PARAMETER name: type:test.Test @5:16..18 BLOCK_BODY - @11:4..18 FUN name:test1 visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit flags:[] - @11:4..18 VALUE_PARAMETER name: type:test.Test flags:[] + @11:4..18 FUN name:test1 visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit + @11:4..18 VALUE_PARAMETER name: type:test.Test @11:16..18 BLOCK_BODY - @17:4..18 FUN name:test2 visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit flags:[] - @14:4..17:18 VALUE_PARAMETER name: type:test.Test flags:[] + @17:4..18 FUN name:test2 visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit + @14:4..17:18 VALUE_PARAMETER name: type:test.Test @17:16..18 BLOCK_BODY - @21:4..18 FUN name:test3 visibility:private modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit flags:[] - @20:4..21:18 VALUE_PARAMETER name: type:test.Test flags:[] + @21:4..18 FUN name:test3 visibility:private modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit + @20:4..21:18 VALUE_PARAMETER name: type:test.Test @21:16..18 BLOCK_BODY - @3:0..23:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @3:0..23:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @3:0..23:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @3:0..23:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @3:0..23:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @3:0..23:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @3:0..23:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @3:0..23:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @3:0..23:1 VALUE_PARAMETER name: type:kotlin.Any + @3:0..23:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @3:0..23:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @3:0..23:1 VALUE_PARAMETER name: type:kotlin.Any + @3:0..23:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @3:0..23:1 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/classProperties.txt b/compiler/testData/ir/sourceRanges/declarations/classProperties.txt index 547035f797c..1a60f786ae2 100644 --- a/compiler/testData/ir/sourceRanges/declarations/classProperties.txt +++ b/compiler/testData/ir/sourceRanges/declarations/classProperties.txt @@ -1,180 +1,180 @@ @0:0..77:1 FILE fqName:test fileName:/classProperties.kt - @2:0..77:1 CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @2:0..77:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Test flags:[] - @2:0..77:1 CONSTRUCTOR visibility:public <> () returnType:test.Test flags:[primary] + @2:0..77:1 CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] + @2:0..77:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Test + @2:0..77:1 CONSTRUCTOR visibility:public <> () returnType:test.Test [primary] @2:0..77:1 BLOCK_BODY - @2:0..77:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @2:0..77:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @4:4..18 PROPERTY name:test0 visibility:public modality:FINAL flags:[val] - @4:4..18 FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public flags:[final] + @2:0..77:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @2:0..77:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' + @4:4..18 PROPERTY name:test0 visibility:public modality:FINAL [val] + @4:4..18 FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public [final] @4:16..18 EXPRESSION_BODY @4:16..18 CONST Int type=kotlin.Int value=42 - @4:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @4:4..18 VALUE_PARAMETER name: type:test.Test flags:[] + @4:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @4:4..18 VALUE_PARAMETER name: type:test.Test @4:4..18 BLOCK_BODY - @4:4..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @4:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @4:4..18 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @10:4..18 PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - @10:4..18 FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final] + @4:4..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @4:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @4:4..18 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @10:4..18 PROPERTY name:test1 visibility:public modality:FINAL [val] + @10:4..18 FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final] @10:16..18 EXPRESSION_BODY @10:16..18 CONST Int type=kotlin.Int value=42 - @10:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @10:4..18 VALUE_PARAMETER name: type:test.Test flags:[] + @10:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @10:4..18 VALUE_PARAMETER name: type:test.Test @10:4..18 BLOCK_BODY - @10:4..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @10:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @10:4..18 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @13:4..16:18 PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - @13:4..16:18 FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final] + @10:4..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @10:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @10:4..18 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @13:4..16:18 PROPERTY name:test2 visibility:public modality:FINAL [val] + @13:4..16:18 FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final] @16:16..18 EXPRESSION_BODY @16:16..18 CONST Int type=kotlin.Int value=42 - @16:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @13:4..16:18 VALUE_PARAMETER name: type:test.Test flags:[] + @16:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @13:4..16:18 VALUE_PARAMETER name: type:test.Test @16:4..18 BLOCK_BODY - @16:4..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @16:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @16:4..18 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @19:4..20:18 PROPERTY name:test3 visibility:private modality:FINAL flags:[val] - @19:4..20:18 FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private flags:[final] + @16:4..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @16:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @16:4..18 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @19:4..20:18 PROPERTY name:test3 visibility:private modality:FINAL [val] + @19:4..20:18 FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private [final] @20:16..18 EXPRESSION_BODY @20:16..18 CONST Int type=kotlin.Int value=42 - @20:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @19:4..20:18 VALUE_PARAMETER name: type:test.Test flags:[] + @20:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @19:4..20:18 VALUE_PARAMETER name: type:test.Test @20:4..18 BLOCK_BODY - @20:4..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @20:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private flags:[final]' type=kotlin.Int origin=null - @20:4..18 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @23:4..24 PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - @23:14..24 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @23:14..24 VALUE_PARAMETER name: type:test.Test flags:[] + @20:4..18 RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in test.Test' + @20:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private [final] ' type=kotlin.Int origin=null + @20:4..18 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @23:4..24 PROPERTY name:test4 visibility:public modality:FINAL [val] + @23:14..24 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @23:14..24 VALUE_PARAMETER name: type:test.Test @23:22..24 BLOCK_BODY - @23:22..24 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' + @23:22..24 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' @23:22..24 CONST Int type=kotlin.Int value=42 - @26:4..27:18 PROPERTY name:test5 visibility:public modality:FINAL flags:[val] - @27:8..18 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @27:8..18 VALUE_PARAMETER name: type:test.Test flags:[] + @26:4..27:18 PROPERTY name:test5 visibility:public modality:FINAL [val] + @27:8..18 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @27:8..18 VALUE_PARAMETER name: type:test.Test @27:16..18 BLOCK_BODY - @27:16..18 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' + @27:16..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' @27:16..18 CONST Int type=kotlin.Int value=42 - @30:4..34:18 PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - @34:8..18 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @34:8..18 VALUE_PARAMETER name: type:test.Test flags:[] + @30:4..34:18 PROPERTY name:test6 visibility:public modality:FINAL [val] + @34:8..18 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @34:8..18 VALUE_PARAMETER name: type:test.Test @34:16..18 BLOCK_BODY - @34:16..18 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' + @34:16..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' @34:16..18 CONST Int type=kotlin.Int value=42 - @37:4..41:18 PROPERTY name:test7 visibility:public modality:FINAL flags:[val] - @41:8..18 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @38:8..41:18 VALUE_PARAMETER name: type:test.Test flags:[] + @37:4..41:18 PROPERTY name:test7 visibility:public modality:FINAL [val] + @41:8..18 FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @38:8..41:18 VALUE_PARAMETER name: type:test.Test @41:16..18 BLOCK_BODY - @41:16..18 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' + @41:16..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' @41:16..18 CONST Int type=kotlin.Int value=42 - @44:4..18 PROPERTY name:test8 visibility:public modality:FINAL flags:[var] - @44:4..18 FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[] + @44:4..18 PROPERTY name:test8 visibility:public modality:FINAL [var] + @44:4..18 FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public @44:16..18 EXPRESSION_BODY @44:16..18 CONST Int type=kotlin.Int value=42 - @44:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @44:4..18 VALUE_PARAMETER name: type:test.Test flags:[] + @44:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @44:4..18 VALUE_PARAMETER name: type:test.Test @44:4..18 BLOCK_BODY - @44:4..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @44:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - @44:4..18 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @44:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test, :kotlin.Int) returnType:kotlin.Unit flags:[] - @44:4..18 VALUE_PARAMETER name: type:test.Test flags:[] - @44:4..18 VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + @44:4..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @44:4..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + @44:4..18 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @44:4..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test, :kotlin.Int) returnType:kotlin.Unit + @44:4..18 VALUE_PARAMETER name: type:test.Test + @44:4..18 VALUE_PARAMETER name: index:0 type:kotlin.Int @44:4..18 BLOCK_BODY - @44:4..18 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - @44:4..18 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @44:4..18 GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @47:4..31 PROPERTY name:test9 visibility:public modality:FINAL flags:[var] - @47:4..31 FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public flags:[] + @44:4..18 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + @44:4..18 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @44:4..18 GET_VAR ': kotlin.Int declared in test.Test.' type=kotlin.Int origin=null + @47:4..31 PROPERTY name:test9 visibility:public modality:FINAL [var] + @47:4..31 FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public @47:16..18 EXPRESSION_BODY @47:16..18 CONST Int type=kotlin.Int value=42 - @47:4..31 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @47:4..31 VALUE_PARAMETER name: type:test.Test flags:[] + @47:4..31 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @47:4..31 VALUE_PARAMETER name: type:test.Test @47:4..31 BLOCK_BODY - @47:4..31 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @47:4..31 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - @47:4..31 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @47:28..31 FUN name: visibility:private modality:FINAL <> ($this:test.Test, :kotlin.Int) returnType:kotlin.Unit flags:[] - @47:20..31 VALUE_PARAMETER name: type:test.Test flags:[] - @47:28..31 VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + @47:4..31 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @47:4..31 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + @47:4..31 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @47:28..31 FUN name: visibility:private modality:FINAL <> ($this:test.Test, :kotlin.Int) returnType:kotlin.Unit + @47:20..31 VALUE_PARAMETER name: type:test.Test + @47:28..31 VALUE_PARAMETER name: index:0 type:kotlin.Int @47:28..31 BLOCK_BODY - @47:28..31 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - @47:28..31 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @47:28..31 GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @50:4..51:19 PROPERTY name:test10 visibility:public modality:FINAL flags:[var] - @50:4..51:19 FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public flags:[] + @47:28..31 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + @47:28..31 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @47:28..31 GET_VAR ': kotlin.Int declared in test.Test.' type=kotlin.Int origin=null + @50:4..51:19 PROPERTY name:test10 visibility:public modality:FINAL [var] + @50:4..51:19 FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public @50:17..19 EXPRESSION_BODY @50:17..19 CONST Int type=kotlin.Int value=42 - @50:4..51:19 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @50:4..51:19 VALUE_PARAMETER name: type:test.Test flags:[] + @50:4..51:19 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @50:4..51:19 VALUE_PARAMETER name: type:test.Test @50:4..51:19 BLOCK_BODY - @50:4..51:19 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @50:4..51:19 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - @50:4..51:19 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @51:16..19 FUN name: visibility:private modality:FINAL <> ($this:test.Test, :kotlin.Int) returnType:kotlin.Unit flags:[] - @51:8..19 VALUE_PARAMETER name: type:test.Test flags:[] - @51:16..19 VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + @50:4..51:19 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @50:4..51:19 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + @50:4..51:19 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @51:16..19 FUN name: visibility:private modality:FINAL <> ($this:test.Test, :kotlin.Int) returnType:kotlin.Unit + @51:8..19 VALUE_PARAMETER name: type:test.Test + @51:16..19 VALUE_PARAMETER name: index:0 type:kotlin.Int @51:16..19 BLOCK_BODY - @51:16..19 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=null - @51:16..19 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @51:16..19 GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @54:4..57:9 PROPERTY name:test11 visibility:public modality:FINAL flags:[var] - @54:4..57:9 FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public flags:[] + @51:16..19 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=null + @51:16..19 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @51:16..19 GET_VAR ': kotlin.Int declared in test.Test.' type=kotlin.Int origin=null + @54:4..57:9 PROPERTY name:test11 visibility:public modality:FINAL [var] + @54:4..57:9 FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public @54:17..19 EXPRESSION_BODY @54:17..19 CONST Int type=kotlin.Int value=42 - @54:4..57:9 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @54:4..57:9 VALUE_PARAMETER name: type:test.Test flags:[] + @54:4..57:9 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @54:4..57:9 VALUE_PARAMETER name: type:test.Test @54:4..57:9 BLOCK_BODY - @54:4..57:9 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @54:4..57:9 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - @54:4..57:9 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @55:8..57:9 FUN name: visibility:public modality:FINAL <> ($this:test.Test, value:kotlin.Int) returnType:kotlin.Unit flags:[] - @55:8..57:9 VALUE_PARAMETER name: type:test.Test flags:[] - @55:12..17 VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + @54:4..57:9 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @54:4..57:9 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + @54:4..57:9 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @55:8..57:9 FUN name: visibility:public modality:FINAL <> ($this:test.Test, value:kotlin.Int) returnType:kotlin.Unit + @55:8..57:9 VALUE_PARAMETER name: type:test.Test + @55:12..17 VALUE_PARAMETER name:value index:0 type:kotlin.Int @55:19..57:9 BLOCK_BODY - @56:12..17 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - @56:12..17 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @56:20..25 GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @60:4..66:9 PROPERTY name:test12 visibility:public modality:FINAL flags:[var] - @60:4..66:9 FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public flags:[] + @56:12..17 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + @56:12..17 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @56:20..25 GET_VAR 'value: kotlin.Int declared in test.Test.' type=kotlin.Int origin=null + @60:4..66:9 PROPERTY name:test12 visibility:public modality:FINAL [var] + @60:4..66:9 FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public @60:17..19 EXPRESSION_BODY @60:17..19 CONST Int type=kotlin.Int value=42 - @60:4..66:9 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @60:4..66:9 VALUE_PARAMETER name: type:test.Test flags:[] + @60:4..66:9 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @60:4..66:9 VALUE_PARAMETER name: type:test.Test @60:4..66:9 BLOCK_BODY - @60:4..66:9 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @60:4..66:9 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - @60:4..66:9 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @64:8..66:9 FUN name: visibility:public modality:FINAL <> ($this:test.Test, value:kotlin.Int) returnType:kotlin.Unit flags:[] - @64:8..66:9 VALUE_PARAMETER name: type:test.Test flags:[] - @64:12..17 VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + @60:4..66:9 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @60:4..66:9 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + @60:4..66:9 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @64:8..66:9 FUN name: visibility:public modality:FINAL <> ($this:test.Test, value:kotlin.Int) returnType:kotlin.Unit + @64:8..66:9 VALUE_PARAMETER name: type:test.Test + @64:12..17 VALUE_PARAMETER name:value index:0 type:kotlin.Int @64:19..66:9 BLOCK_BODY - @65:12..17 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - @65:12..17 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @65:20..25 GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @69:4..75:9 PROPERTY name:test13 visibility:public modality:FINAL flags:[var] - @69:4..75:9 FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public flags:[] + @65:12..17 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + @65:12..17 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @65:20..25 GET_VAR 'value: kotlin.Int declared in test.Test.' type=kotlin.Int origin=null + @69:4..75:9 PROPERTY name:test13 visibility:public modality:FINAL [var] + @69:4..75:9 FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public @69:17..19 EXPRESSION_BODY @69:17..19 CONST Int type=kotlin.Int value=42 - @69:4..75:9 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[] - @69:4..75:9 VALUE_PARAMETER name: type:test.Test flags:[] + @69:4..75:9 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int + @69:4..75:9 VALUE_PARAMETER name: type:test.Test @69:4..75:9 BLOCK_BODY - @69:4..75:9 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' - @69:4..75:9 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public flags:[]' type=kotlin.Int origin=null - @69:4..75:9 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @73:8..75:9 FUN name: visibility:public modality:FINAL <> ($this:test.Test, value:kotlin.Int) returnType:kotlin.Unit flags:[] - @70:8..75:9 VALUE_PARAMETER name: type:test.Test flags:[] - @73:12..17 VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + @69:4..75:9 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test.Test' + @69:4..75:9 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public ' type=kotlin.Int origin=null + @69:4..75:9 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @73:8..75:9 FUN name: visibility:public modality:FINAL <> ($this:test.Test, value:kotlin.Int) returnType:kotlin.Unit + @70:8..75:9 VALUE_PARAMETER name: type:test.Test + @73:12..17 VALUE_PARAMETER name:value index:0 type:kotlin.Int @73:19..75:9 BLOCK_BODY - @74:12..17 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public flags:[]' type=kotlin.Unit origin=EQ - @74:12..17 GET_VAR 'VALUE_PARAMETER name: type:test.Test flags:[]' type=test.Test origin=null - @74:20..25 GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @2:0..77:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @2:0..77:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @2:0..77:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @2:0..77:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @2:0..77:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @2:0..77:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @2:0..77:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @74:12..17 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public ' type=kotlin.Unit origin=EQ + @74:12..17 GET_VAR ': test.Test declared in test.Test.' type=test.Test origin=null + @74:20..25 GET_VAR 'value: kotlin.Int declared in test.Test.' type=kotlin.Int origin=null + @2:0..77:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @2:0..77:1 VALUE_PARAMETER name: type:kotlin.Any + @2:0..77:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @2:0..77:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @2:0..77:1 VALUE_PARAMETER name: type:kotlin.Any + @2:0..77:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @2:0..77:1 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/classes.txt b/compiler/testData/ir/sourceRanges/declarations/classes.txt index 3cea915a1d8..44195abf830 100644 --- a/compiler/testData/ir/sourceRanges/declarations/classes.txt +++ b/compiler/testData/ir/sourceRanges/declarations/classes.txt @@ -1,96 +1,96 @@ @0:0..22:11 FILE fqName: fileName:/classes.kt - @0:0..11 CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @0:0..11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - @0:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] + @0:0..11 CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] + @0:0..11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + @0:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test1 [primary] @0:0..11 BLOCK_BODY - @0:0..11 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @0:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @0:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @0:0..11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @0:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @0:0..11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @0:0..11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @3:0..4:11 CLASS CLASS name:Test2 modality:FINAL visibility:internal flags:[] superTypes:[kotlin.Any] - @3:0..4:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - @4:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test2 flags:[primary] + @0:0..11 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @0:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + @0:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @0:0..11 VALUE_PARAMETER name: type:kotlin.Any + @0:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @0:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @0:0..11 VALUE_PARAMETER name: type:kotlin.Any + @0:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @0:0..11 VALUE_PARAMETER name: type:kotlin.Any + @3:0..4:11 CLASS CLASS name:Test2 modality:FINAL visibility:internal superTypes:[kotlin.Any] + @3:0..4:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + @4:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test2 [primary] @3:0..4:11 BLOCK_BODY - @3:0..4:11 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @3:0..4:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:internal flags:[] superTypes:[kotlin.Any]' - @4:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @3:0..4:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @4:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @4:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @3:0..4:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @4:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @3:0..4:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @10:0..11 CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @10:0..11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] - @10:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test3 flags:[primary] + @3:0..4:11 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @3:0..4:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:internal superTypes:[kotlin.Any]' + @4:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @3:0..4:11 VALUE_PARAMETER name: type:kotlin.Any + @4:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @4:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @3:0..4:11 VALUE_PARAMETER name: type:kotlin.Any + @4:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @3:0..4:11 VALUE_PARAMETER name: type:kotlin.Any + @10:0..11 CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any] + @10:0..11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 + @10:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test3 [primary] @10:0..11 BLOCK_BODY - @10:0..11 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @10:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @10:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @10:0..11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @10:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @10:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @10:0..11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @10:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @10:0..11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @13:0..14:11 CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @13:0..14:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 flags:[] - @14:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test4 flags:[primary] + @10:0..11 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @10:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]' + @10:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @10:0..11 VALUE_PARAMETER name: type:kotlin.Any + @10:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @10:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @10:0..11 VALUE_PARAMETER name: type:kotlin.Any + @10:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @10:0..11 VALUE_PARAMETER name: type:kotlin.Any + @13:0..14:11 CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any] + @13:0..14:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 + @14:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test4 [primary] @13:0..14:11 BLOCK_BODY - @13:0..14:11 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @13:0..14:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @14:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @13:0..14:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @14:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @14:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @13:0..14:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @14:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @13:0..14:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @17:0..18:11 CLASS ENUM_CLASS name:Test5 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Test5>] - @17:0..18:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test5 flags:[] - @18:0..11 CONSTRUCTOR visibility:private <> () returnType:.Test5 flags:[primary] + @13:0..14:11 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @13:0..14:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]' + @14:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @13:0..14:11 VALUE_PARAMETER name: type:kotlin.Any + @14:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @14:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @13:0..14:11 VALUE_PARAMETER name: type:kotlin.Any + @14:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @13:0..14:11 VALUE_PARAMETER name: type:kotlin.Any + @17:0..18:11 CLASS ENUM_CLASS name:Test5 modality:FINAL visibility:public superTypes:[kotlin.Enum<.Test5>] + @17:0..18:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test5 + @18:0..11 CONSTRUCTOR visibility:private <> () returnType:.Test5 [primary] @17:0..18:11 BLOCK_BODY - @17:0..18:11 ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' - @17:0..18:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test5 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Test5>]' - @18:0..11 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Any flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @18:0..11 FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Unit flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @18:0..11 FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:java.lang.Class<.Test5?>? flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @18:0..11 FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>, other:.Test5) returnType:kotlin.Int flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @18:0..11 VALUE_PARAMETER name:other index:0 type:.Test5 flags:[] - @18:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @18:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @18:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Int flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @17:0..18:11 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:[val] - @18:0..11 FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.String flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @17:0..18:11 PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:[val] - @18:0..11 FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Int flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @18:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.String flags:[] - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> flags:[] - @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test5> flags:[] + @17:0..18:11 ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' + @17:0..18:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test5 modality:FINAL visibility:public superTypes:[kotlin.Enum<.Test5>]' + @18:0..11 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Any + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @18:0..11 FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Unit + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @18:0..11 FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:java.lang.Class<.Test5?>? + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @18:0..11 FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>, other:.Test5) returnType:kotlin.Int + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @18:0..11 VALUE_PARAMETER name:other index:0 type:.Test5 + @18:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>, other:kotlin.Any?) returnType:kotlin.Boolean + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @18:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @18:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Int + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @17:0..18:11 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [val] + @18:0..11 FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.String + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @17:0..18:11 PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [val] + @18:0..11 FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.Int + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @18:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.Test5>) returnType:kotlin.String + @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum<.Test5> + @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.Test5> @17:0..18:11 SYNTHETIC_BODY kind=ENUM_VALUES - @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test5 flags:[] - @17:0..18:11 VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] + @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.Test5 + @17:0..18:11 VALUE_PARAMETER name:value index:0 type:kotlin.String @17:0..18:11 SYNTHETIC_BODY kind=ENUM_VALUEOF - @21:0..22:11 CLASS ANNOTATION_CLASS name:Test6 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Annotation] - @21:0..22:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test6 flags:[] - @22:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test6 flags:[primary] - @22:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @21:0..22:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @22:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @22:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @21:0..22:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @22:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @21:0..22:11 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @21:0..22:11 CLASS ANNOTATION_CLASS name:Test6 modality:FINAL visibility:public superTypes:[kotlin.Annotation] + @21:0..22:11 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test6 + @22:0..11 CONSTRUCTOR visibility:public <> () returnType:.Test6 [primary] + @22:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @21:0..22:11 VALUE_PARAMETER name: type:kotlin.Any + @22:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @22:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @21:0..22:11 VALUE_PARAMETER name: type:kotlin.Any + @22:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @21:0..22:11 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/fakeOverrides.txt b/compiler/testData/ir/sourceRanges/declarations/fakeOverrides.txt index 6ae90a5c5a2..0df4b7a69af 100644 --- a/compiler/testData/ir/sourceRanges/declarations/fakeOverrides.txt +++ b/compiler/testData/ir/sourceRanges/declarations/fakeOverrides.txt @@ -1,14 +1,14 @@ @0:0..10 FILE fqName: fileName:/fakeOverrides.kt - @0:0..10 CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @0:0..10 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test flags:[] - @0:0..10 CONSTRUCTOR visibility:public <> () returnType:.Test flags:[primary] + @0:0..10 CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] + @0:0..10 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test + @0:0..10 CONSTRUCTOR visibility:public <> () returnType:.Test [primary] @0:0..10 BLOCK_BODY - @0:0..10 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @0:0..10 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @0:0..10 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @0:0..10 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..10 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @0:0..10 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @0:0..10 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..10 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @0:0..10 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @0:0..10 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @0:0..10 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' + @0:0..10 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @0:0..10 VALUE_PARAMETER name: type:kotlin.Any + @0:0..10 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @0:0..10 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @0:0..10 VALUE_PARAMETER name: type:kotlin.Any + @0:0..10 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @0:0..10 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/kt29862.txt b/compiler/testData/ir/sourceRanges/declarations/kt29862.txt index 917986657b7..c452f0f24fa 100644 --- a/compiler/testData/ir/sourceRanges/declarations/kt29862.txt +++ b/compiler/testData/ir/sourceRanges/declarations/kt29862.txt @@ -1,74 +1,74 @@ @0:0..15:0 FILE fqName: fileName:/kt29862.kt - @0:0..3:1 CLASS CLASS name:Test1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - @0:0..3:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - @0:9..3:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test1 flags:[primary] - @1:4..14 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @0:0..3:1 CLASS CLASS name:Test1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + @0:0..3:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + @0:9..3:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test1 [primary] + @1:4..14 VALUE_PARAMETER name:x index:0 type:kotlin.Int @0:0..3:1 BLOCK_BODY - @0:0..3:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @0:0..3:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - @1:4..14 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @1:4..14 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @0:0..3:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @0:0..3:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + @1:4..14 PROPERTY name:x visibility:public modality:FINAL [val] + @1:4..14 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @1:4..14 EXPRESSION_BODY - @1:4..14 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @1:4..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - @1:4..14 VALUE_PARAMETER name: type:.Test1 flags:[] + @1:4..14 GET_VAR 'x: kotlin.Int declared in .Test1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @1:4..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + @1:4..14 VALUE_PARAMETER name: type:.Test1 @1:4..14 BLOCK_BODY - @1:4..14 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - @1:4..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @1:4..14 GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - @0:9..3:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @0:0..3:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:9..3:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @0:9..3:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @0:0..3:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:9..3:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @0:0..3:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @5:0..14:1 CLASS CLASS name:Test2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - @5:0..14:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - @7:0..14:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test2 flags:[primary] - @8:4..14 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @1:4..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test1' + @1:4..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @1:4..14 GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + @0:9..3:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @0:0..3:1 VALUE_PARAMETER name: type:kotlin.Any + @0:9..3:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @0:9..3:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @0:0..3:1 VALUE_PARAMETER name: type:kotlin.Any + @0:9..3:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @0:0..3:1 VALUE_PARAMETER name: type:kotlin.Any + @5:0..14:1 CLASS CLASS name:Test2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + @5:0..14:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + @7:0..14:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test2 [primary] + @8:4..14 VALUE_PARAMETER name:x index:0 type:kotlin.Int @5:0..14:1 BLOCK_BODY - @5:0..14:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @5:0..14:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]' - @8:4..14 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @8:4..14 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @5:0..14:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @5:0..14:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + @8:4..14 PROPERTY name:x visibility:public modality:FINAL [val] + @8:4..14 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @8:4..14 EXPRESSION_BODY - @8:4..14 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @8:4..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - @8:4..14 VALUE_PARAMETER name: type:.Test2 flags:[] + @8:4..14 GET_VAR 'x: kotlin.Int declared in .Test2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @8:4..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + @8:4..14 VALUE_PARAMETER name: type:.Test2 @8:4..14 BLOCK_BODY - @8:4..14 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[]' - @8:4..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @8:4..14 GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - @10:4..13:5 CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any] - @10:4..13:5 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.TestInner flags:[] - @11:4..13:5 CONSTRUCTOR visibility:public <> ($this:.Test2, x:kotlin.Int) returnType:.Test2.TestInner flags:[primary] - @11:19..13:5 VALUE_PARAMETER name: type:.Test2 flags:[] - @12:8..18 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @8:4..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2' + @8:4..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @8:4..14 GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + @10:4..13:5 CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] + @10:4..13:5 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.TestInner + @11:4..13:5 CONSTRUCTOR visibility:public <> ($this:.Test2, x:kotlin.Int) returnType:.Test2.TestInner [primary] + @11:19..13:5 VALUE_PARAMETER name: type:.Test2 + @12:8..18 VALUE_PARAMETER name:x index:0 type:kotlin.Int @10:4..13:5 BLOCK_BODY - @10:4..13:5 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @10:4..13:5 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]' - @12:8..18 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @12:8..18 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @10:4..13:5 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @10:4..13:5 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' + @12:8..18 PROPERTY name:x visibility:public modality:FINAL [val] + @12:8..18 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @12:8..18 EXPRESSION_BODY - @12:8..18 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @12:8..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.TestInner) returnType:kotlin.Int flags:[] - @12:8..18 VALUE_PARAMETER name: type:.Test2.TestInner flags:[] + @12:8..18 GET_VAR 'x: kotlin.Int declared in .Test2.TestInner.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @12:8..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.TestInner) returnType:kotlin.Int + @12:8..18 VALUE_PARAMETER name: type:.Test2.TestInner @12:8..18 BLOCK_BODY - @12:8..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.TestInner) returnType:kotlin.Int flags:[]' - @12:8..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @12:8..18 GET_VAR 'VALUE_PARAMETER name: type:.Test2.TestInner flags:[]' type=.Test2.TestInner origin=null - @11:4..13:5 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @10:4..13:5 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @11:4..13:5 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @11:4..13:5 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @10:4..13:5 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @11:4..13:5 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @10:4..13:5 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @7:0..14:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @5:0..14:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @7:0..14:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @7:0..14:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @5:0..14:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @7:0..14:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @5:0..14:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @12:8..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2.TestInner' + @12:8..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @12:8..18 GET_VAR ': .Test2.TestInner declared in .Test2.TestInner.' type=.Test2.TestInner origin=null + @11:4..13:5 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @10:4..13:5 VALUE_PARAMETER name: type:kotlin.Any + @11:4..13:5 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @11:4..13:5 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @10:4..13:5 VALUE_PARAMETER name: type:kotlin.Any + @11:4..13:5 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @10:4..13:5 VALUE_PARAMETER name: type:kotlin.Any + @7:0..14:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @5:0..14:1 VALUE_PARAMETER name: type:kotlin.Any + @7:0..14:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @7:0..14:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @5:0..14:1 VALUE_PARAMETER name: type:kotlin.Any + @7:0..14:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @5:0..14:1 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/primaryConstructors.txt b/compiler/testData/ir/sourceRanges/declarations/primaryConstructors.txt index 4ad0db81793..78b6a5ca191 100644 --- a/compiler/testData/ir/sourceRanges/declarations/primaryConstructors.txt +++ b/compiler/testData/ir/sourceRanges/declarations/primaryConstructors.txt @@ -1,97 +1,97 @@ @0:0..13:23 FILE fqName: fileName:/primaryConstructors.kt - @0:0..23 CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @0:0..23 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] - @0:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test1 flags:[primary] - @0:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @0:0..23 CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] + @0:0..23 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 + @0:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test1 [primary] + @0:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int @0:0..23 BLOCK_BODY - @0:0..23 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @0:0..23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @0:12..22 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @0:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @0:0..23 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @0:0..23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' + @0:12..22 PROPERTY name:x visibility:public modality:FINAL [val] + @0:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @0:12..22 EXPRESSION_BODY - @0:12..22 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @0:12..22 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[] - @0:12..22 VALUE_PARAMETER name: type:.Test1 flags:[] + @0:12..22 GET_VAR 'x: kotlin.Int declared in .Test1.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @0:12..22 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int + @0:12..22 VALUE_PARAMETER name: type:.Test1 @0:12..22 BLOCK_BODY - @0:12..22 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:kotlin.Int flags:[]' - @0:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @0:12..22 GET_VAR 'VALUE_PARAMETER name: type:.Test1 flags:[]' type=.Test1 origin=null - @0:0..23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @0:0..23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..23 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @0:0..23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @0:0..23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @0:0..23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @2:0..3:32 CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @2:0..3:32 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 flags:[] - @3:9..32 CONSTRUCTOR visibility:internal <> (x:kotlin.Int) returnType:.Test2 flags:[primary] - @3:21..31 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @0:12..22 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test1' + @0:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @0:12..22 GET_VAR ': .Test1 declared in .Test1.' type=.Test1 origin=null + @0:0..23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @0:0..23 VALUE_PARAMETER name: type:kotlin.Any + @0:0..23 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @0:0..23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @0:0..23 VALUE_PARAMETER name: type:kotlin.Any + @0:0..23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @0:0..23 VALUE_PARAMETER name: type:kotlin.Any + @2:0..3:32 CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any] + @2:0..3:32 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 + @3:9..32 CONSTRUCTOR visibility:internal <> (x:kotlin.Int) returnType:.Test2 [primary] + @3:21..31 VALUE_PARAMETER name:x index:0 type:kotlin.Int @2:0..3:32 BLOCK_BODY - @2:0..3:32 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @2:0..3:32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @3:21..31 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @3:21..31 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @2:0..3:32 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @2:0..3:32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any]' + @3:21..31 PROPERTY name:x visibility:public modality:FINAL [val] + @3:21..31 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @3:21..31 EXPRESSION_BODY - @3:21..31 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @3:21..31 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[] - @3:21..31 VALUE_PARAMETER name: type:.Test2 flags:[] + @3:21..31 GET_VAR 'x: kotlin.Int declared in .Test2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @3:21..31 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int + @3:21..31 VALUE_PARAMETER name: type:.Test2 @3:21..31 BLOCK_BODY - @3:21..31 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Int flags:[]' - @3:21..31 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @3:21..31 GET_VAR 'VALUE_PARAMETER name: type:.Test2 flags:[]' type=.Test2 origin=null - @2:0..3:32 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @2:0..3:32 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @2:0..3:32 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @2:0..3:32 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @2:0..3:32 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @2:0..3:32 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @2:0..3:32 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @5:0..9:23 CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @5:0..9:23 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 flags:[] - @9:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test3 flags:[primary] - @9:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @3:21..31 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test2' + @3:21..31 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @3:21..31 GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null + @2:0..3:32 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @2:0..3:32 VALUE_PARAMETER name: type:kotlin.Any + @2:0..3:32 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @2:0..3:32 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @2:0..3:32 VALUE_PARAMETER name: type:kotlin.Any + @2:0..3:32 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @2:0..3:32 VALUE_PARAMETER name: type:kotlin.Any + @5:0..9:23 CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any] + @5:0..9:23 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 + @9:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test3 [primary] + @9:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int @5:0..9:23 BLOCK_BODY - @5:0..9:23 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @5:0..9:23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @9:12..22 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @9:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @5:0..9:23 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @5:0..9:23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]' + @9:12..22 PROPERTY name:x visibility:public modality:FINAL [val] + @9:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @9:12..22 EXPRESSION_BODY - @9:12..22 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @9:12..22 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[] - @9:12..22 VALUE_PARAMETER name: type:.Test3 flags:[] + @9:12..22 GET_VAR 'x: kotlin.Int declared in .Test3.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @9:12..22 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int + @9:12..22 VALUE_PARAMETER name: type:.Test3 @9:12..22 BLOCK_BODY - @9:12..22 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.Int flags:[]' - @9:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @9:12..22 GET_VAR 'VALUE_PARAMETER name: type:.Test3 flags:[]' type=.Test3 origin=null - @5:0..9:23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @5:0..9:23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @5:0..9:23 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @5:0..9:23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @5:0..9:23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @5:0..9:23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @5:0..9:23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @11:0..13:23 CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @11:0..13:23 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 flags:[] - @13:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4 flags:[primary] - @13:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @9:12..22 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test3' + @9:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @9:12..22 GET_VAR ': .Test3 declared in .Test3.' type=.Test3 origin=null + @5:0..9:23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @5:0..9:23 VALUE_PARAMETER name: type:kotlin.Any + @5:0..9:23 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @5:0..9:23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @5:0..9:23 VALUE_PARAMETER name: type:kotlin.Any + @5:0..9:23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @5:0..9:23 VALUE_PARAMETER name: type:kotlin.Any + @11:0..13:23 CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any] + @11:0..13:23 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 + @13:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4 [primary] + @13:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int @11:0..13:23 BLOCK_BODY - @11:0..13:23 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @11:0..13:23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @13:12..22 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @13:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @11:0..13:23 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @11:0..13:23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]' + @13:12..22 PROPERTY name:x visibility:public modality:FINAL [val] + @13:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @13:12..22 EXPRESSION_BODY - @13:12..22 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @13:12..22 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.Int flags:[] - @13:12..22 VALUE_PARAMETER name: type:.Test4 flags:[] + @13:12..22 GET_VAR 'x: kotlin.Int declared in .Test4.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @13:12..22 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.Int + @13:12..22 VALUE_PARAMETER name: type:.Test4 @13:12..22 BLOCK_BODY - @13:12..22 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test4) returnType:kotlin.Int flags:[]' - @13:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @13:12..22 GET_VAR 'VALUE_PARAMETER name: type:.Test4 flags:[]' type=.Test4 origin=null - @11:0..13:23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @11:0..13:23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @11:0..13:23 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @11:0..13:23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @11:0..13:23 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @11:0..13:23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @11:0..13:23 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @13:12..22 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test4' + @13:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @13:12..22 GET_VAR ': .Test4 declared in .Test4.' type=.Test4 origin=null + @11:0..13:23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @11:0..13:23 VALUE_PARAMETER name: type:kotlin.Any + @11:0..13:23 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @11:0..13:23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @11:0..13:23 VALUE_PARAMETER name: type:kotlin.Any + @11:0..13:23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @11:0..13:23 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/secondaryConstructors.txt b/compiler/testData/ir/sourceRanges/declarations/secondaryConstructors.txt index fdf15224e48..e3ec4e27c04 100644 --- a/compiler/testData/ir/sourceRanges/declarations/secondaryConstructors.txt +++ b/compiler/testData/ir/sourceRanges/declarations/secondaryConstructors.txt @@ -1,29 +1,29 @@ @0:0..13:1 FILE fqName: fileName:/secondaryConstructors.kt - @0:0..13:1 CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] - @0:0..13:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - @1:4..27 CONSTRUCTOR visibility:public <> () returnType:.C flags:[] + @0:0..13:1 CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] + @0:0..13:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + @1:4..27 CONSTRUCTOR visibility:public <> () returnType:.C @1:4..27 BLOCK_BODY - @1:20..27 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @1:4..27 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @4:4..32 CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.C flags:[] - @4:16..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @1:20..27 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @1:4..27 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + @4:4..32 CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.C + @4:16..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int @3:4..4:32 BLOCK_BODY - @4:25..32 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @3:4..4:32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @9:4..36 CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.C flags:[] - @9:16..25 VALUE_PARAMETER name:x index:0 type:kotlin.String flags:[] + @4:25..32 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @3:4..4:32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + @9:4..36 CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.C + @9:16..25 VALUE_PARAMETER name:x index:0 type:kotlin.String @9:4..36 BLOCK_BODY - @9:29..36 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @9:4..36 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @12:4..32 CONSTRUCTOR visibility:public <> (x:kotlin.Any) returnType:.C flags:[] - @12:16..22 VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + @9:29..36 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @9:4..36 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + @12:4..32 CONSTRUCTOR visibility:public <> (x:kotlin.Any) returnType:.C + @12:16..22 VALUE_PARAMETER name:x index:0 type:kotlin.Any @11:4..12:32 BLOCK_BODY - @12:25..32 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @11:4..12:32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' - @0:0..13:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @0:0..13:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..13:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @0:0..13:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @0:0..13:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @0:0..13:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @0:0..13:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @12:25..32 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @11:4..12:32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' + @0:0..13:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @0:0..13:1 VALUE_PARAMETER name: type:kotlin.Any + @0:0..13:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @0:0..13:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @0:0..13:1 VALUE_PARAMETER name: type:kotlin.Any + @0:0..13:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @0:0..13:1 VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/sourceRanges/declarations/synthesizedDataClassMembers.txt b/compiler/testData/ir/sourceRanges/declarations/synthesizedDataClassMembers.txt index ee5ff50e5fc..9f041f78bc8 100644 --- a/compiler/testData/ir/sourceRanges/declarations/synthesizedDataClassMembers.txt +++ b/compiler/testData/ir/sourceRanges/declarations/synthesizedDataClassMembers.txt @@ -1,175 +1,175 @@ @0:0..4:1 FILE fqName: fileName:/synthesizedDataClassMembers.kt - @0:0..4:1 CLASS CLASS name:C modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] - @0:0..4:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] - @0:5..4:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.C flags:[primary] - @1:8..18 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] - @2:8..21 VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] - @3:8..18 VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[] + @0:0..4:1 CLASS CLASS name:C modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + @0:0..4:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + @0:5..4:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.C [primary] + @1:8..18 VALUE_PARAMETER name:x index:0 type:kotlin.Int + @2:8..21 VALUE_PARAMETER name:y index:1 type:kotlin.String + @3:8..18 VALUE_PARAMETER name:z index:2 type:kotlin.Any @0:0..4:1 BLOCK_BODY - @0:0..4:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]' - @0:0..4:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any]' - @1:8..18 PROPERTY name:x visibility:public modality:FINAL flags:[val] - @1:8..18 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] + @0:0..4:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + @0:0..4:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' + @1:8..18 PROPERTY name:x visibility:public modality:FINAL [val] + @1:8..18 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] @1:8..18 EXPRESSION_BODY - @1:8..18 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @1:8..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - @1:8..18 VALUE_PARAMETER name: type:.C flags:[] + @1:8..18 GET_VAR 'x: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @1:8..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + @1:8..18 VALUE_PARAMETER name: type:.C @1:8..18 BLOCK_BODY - @1:8..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - @1:8..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null - @1:8..18 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @2:8..21 PROPERTY name:y visibility:public modality:FINAL flags:[val] - @2:8..21 FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final] + @1:8..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + @1:8..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null + @1:8..18 GET_VAR ': .C declared in .C.' type=.C origin=null + @2:8..21 PROPERTY name:y visibility:public modality:FINAL [val] + @2:8..21 FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] @2:8..21 EXPRESSION_BODY - @2:8..21 GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @2:8..21 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[] - @2:8..21 VALUE_PARAMETER name: type:.C flags:[] + @2:8..21 GET_VAR 'y: kotlin.String declared in .C.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @2:8..21 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String + @2:8..21 VALUE_PARAMETER name: type:.C @2:8..21 BLOCK_BODY - @2:8..21 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' - @2:8..21 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null - @2:8..21 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @3:8..18 PROPERTY name:z visibility:public modality:FINAL flags:[val] - @3:8..18 FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public flags:[final] + @2:8..21 RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .C' + @2:8..21 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public [final] ' type=kotlin.String origin=null + @2:8..21 GET_VAR ': .C declared in .C.' type=.C origin=null + @3:8..18 PROPERTY name:z visibility:public modality:FINAL [val] + @3:8..18 FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public [final] @3:8..18 EXPRESSION_BODY - @3:8..18 GET_VAR 'VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[]' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER - @3:8..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[] - @3:8..18 VALUE_PARAMETER name: type:.C flags:[] + @3:8..18 GET_VAR 'z: kotlin.Any declared in .C.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + @3:8..18 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any + @3:8..18 VALUE_PARAMETER name: type:.C @3:8..18 BLOCK_BODY - @3:8..18 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' - @3:8..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public flags:[final]' type=kotlin.Any origin=null - @3:8..18 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @1:8..18 FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[] - @1:8..18 VALUE_PARAMETER name: type:.C flags:[] + @3:8..18 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Any declared in .C' + @3:8..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public [final] ' type=kotlin.Any origin=null + @3:8..18 GET_VAR ': .C declared in .C.' type=.C origin=null + @1:8..18 FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + @1:8..18 VALUE_PARAMETER name: type:.C @1:8..18 BLOCK_BODY - @1:8..18 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' - @1:8..18 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - @1:8..18 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @2:8..21 FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[] - @2:8..21 VALUE_PARAMETER name: type:.C flags:[] + @1:8..18 RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .C' + @1:8..18 CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + @1:8..18 GET_VAR ': .C declared in .C.component1' type=.C origin=null + @2:8..21 FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String + @2:8..21 VALUE_PARAMETER name: type:.C @2:8..21 BLOCK_BODY - @2:8..21 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' - @2:8..21 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - @2:8..21 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @3:8..18 FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[] - @3:8..18 VALUE_PARAMETER name: type:.C flags:[] + @2:8..21 RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.String declared in .C' + @2:8..21 CALL 'public final fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + @2:8..21 GET_VAR ': .C declared in .C.component2' type=.C origin=null + @3:8..18 FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any + @3:8..18 VALUE_PARAMETER name: type:.C @3:8..18 BLOCK_BODY - @3:8..18 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' - @3:8..18 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - @3:8..18 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.C, x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.C flags:[] - @0:0..4:1 VALUE_PARAMETER name: type:.C flags:[] - @1:8..18 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + @3:8..18 RETURN type=kotlin.Nothing from='public final fun component3 (): kotlin.Any declared in .C' + @3:8..18 CALL 'public final fun (): kotlin.Any declared in .C' type=kotlin.Any origin=GET_PROPERTY + @3:8..18 GET_VAR ': .C declared in .C.component3' type=.C origin=null + @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.C, x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.C + @0:0..4:1 VALUE_PARAMETER name: type:.C + @1:8..18 VALUE_PARAMETER name:x index:0 type:kotlin.Int @0:0..4:1 EXPRESSION_BODY - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @2:8..21 VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] + @0:0..4:1 CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.copy' type=.C origin=null + @2:8..21 VALUE_PARAMETER name:y index:1 type:kotlin.String @0:0..4:1 EXPRESSION_BODY - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @3:8..18 VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[] + @0:0..4:1 CALL 'public final fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.copy' type=.C origin=null + @3:8..18 VALUE_PARAMETER name:z index:2 type:kotlin.Any @0:0..4:1 EXPRESSION_BODY - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.Any declared in .C' type=kotlin.Any origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.copy' type=.C origin=null @0:0..4:1 BLOCK_BODY - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.C, x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.C flags:[]' - @0:0..4:1 CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:.C flags:[primary]' type=.C origin=null - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[]' type=kotlin.String origin=null - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[]' type=kotlin.Any origin=null - @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String flags:[] - @0:0..4:1 VALUE_PARAMETER name: type:.C flags:[] + @0:0..4:1 RETURN type=kotlin.Nothing from='public final fun copy (x: kotlin.Int, y: kotlin.String, z: kotlin.Any): .C declared in .C' + @0:0..4:1 CALL 'public constructor (x: kotlin.Int, y: kotlin.String, z: kotlin.Any) [primary] declared in .C' type=.C origin=null + @0:0..4:1 GET_VAR 'x: kotlin.Int declared in .C.copy' type=kotlin.Int origin=null + @0:0..4:1 GET_VAR 'y: kotlin.String declared in .C.copy' type=kotlin.String origin=null + @0:0..4:1 GET_VAR 'z: kotlin.Any declared in .C.copy' type=kotlin.Any origin=null + @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String + @0:0..4:1 VALUE_PARAMETER name: type:.C @0:0..4:1 BLOCK_BODY - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String flags:[]' + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .C' @0:0..4:1 STRING_CONCATENATION type=kotlin.String @0:0..4:1 CONST String type=kotlin.String value="C(" @0:0..4:1 CONST String type=kotlin.String value="x=" - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.toString' type=.C origin=null @0:0..4:1 CONST String type=kotlin.String value=", " @0:0..4:1 CONST String type=kotlin.String value="y=" - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.toString' type=.C origin=null @0:0..4:1 CONST String type=kotlin.String value=", " @0:0..4:1 CONST String type=kotlin.String value="z=" - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.Any declared in .C' type=kotlin.Any origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.toString' type=.C origin=null @0:0..4:1 CONST String type=kotlin.String value=")" - @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[] - @0:0..4:1 VALUE_PARAMETER name: type:.C flags:[] + @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + @0:0..4:1 VALUE_PARAMETER name: type:.C @0:0..4:1 BLOCK_BODY - @0:0..4:1 VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] + @0:0..4:1 VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int [var] @0:0..4:1 CONST Int type=kotlin.Int value=0 - @0:0..4:1 SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - @0:0..4:1 CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - @0:0..4:1 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + @0:0..4:1 SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .C.hashCode' type=kotlin.Unit origin=EQ + @0:0..4:1 CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.hashCode' type=.C origin=null + @0:0..4:1 SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .C.hashCode' type=kotlin.Unit origin=EQ + @0:0..4:1 CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + @0:0..4:1 CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + @0:0..4:1 GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .C.hashCode' type=kotlin.Int origin=null @0:0..4:1 CONST Int type=kotlin.Int value=31 - @0:0..4:1 CALL 'FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ - @0:0..4:1 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null + @0:0..4:1 CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.hashCode' type=.C origin=null + @0:0..4:1 SET_VAR 'var tmp0_result: kotlin.Int [var] declared in .C.hashCode' type=kotlin.Unit origin=EQ + @0:0..4:1 CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + @0:0..4:1 CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + @0:0..4:1 GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .C.hashCode' type=kotlin.Int origin=null @0:0..4:1 CONST Int type=kotlin.Int value=31 - @0:0..4:1 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=null - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[]' - @0:0..4:1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null - @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @0:0..4:1 VALUE_PARAMETER name: type:.C flags:[] - @0:0..4:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + @0:0..4:1 CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.Any declared in .C' type=kotlin.Any origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.hashCode' type=.C origin=null + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .C' + @0:0..4:1 GET_VAR 'var tmp0_result: kotlin.Int [var] declared in .C.hashCode' type=kotlin.Int origin=null + @0:0..4:1 FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean + @0:0..4:1 VALUE_PARAMETER name: type:.C + @0:0..4:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? @0:0..4:1 BLOCK_BODY @0:0..4:1 WHEN type=kotlin.Unit origin=null @0:0..4:1 BRANCH - @0:0..4:1 CALL 'FUN IR_BUILTINS_STUB name:EQEQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQEQ - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + @0:0..4:1 CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + @0:0..4:1 GET_VAR ': .C declared in .C.equals' type=.C origin=null + @0:0..4:1 GET_VAR 'other: kotlin.Any? declared in .C.equals' type=kotlin.Any? origin=null + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' @0:0..4:1 CONST Boolean type=kotlin.Boolean value=true @0:0..4:1 WHEN type=kotlin.Unit origin=null @0:0..4:1 BRANCH @0:0..4:1 TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.C - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + @0:0..4:1 GET_VAR 'other: kotlin.Any? declared in .C.equals' type=kotlin.Any? origin=null + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' @0:0..4:1 CONST Boolean type=kotlin.Boolean value=false - @0:0..4:1 VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.C flags:[val] + @0:0..4:1 VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.C [val] @0:0..4:1 TYPE_OP type=.C origin=CAST typeOperand=.C - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null + @0:0..4:1 GET_VAR 'other: kotlin.Any? declared in .C.equals' type=kotlin.Any? origin=null @0:0..4:1 WHEN type=kotlin.Unit origin=null @0:0..4:1 BRANCH - @0:0..4:1 CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.C flags:[val]' type=.C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + @0:0..4:1 CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + @0:0..4:1 CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + @0:0..4:1 CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.equals' type=.C origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + @0:0..4:1 GET_VAR 'val tmp0_other_with_cast: .C [val] declared in .C.equals' type=.C origin=null + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' @0:0..4:1 CONST Boolean type=kotlin.Boolean value=false @0:0..4:1 WHEN type=kotlin.Unit origin=null @0:0..4:1 BRANCH - @0:0..4:1 CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.C flags:[val]' type=.C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + @0:0..4:1 CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + @0:0..4:1 CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + @0:0..4:1 CALL 'public final fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.equals' type=.C origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + @0:0..4:1 GET_VAR 'val tmp0_other_with_cast: .C [val] declared in .C.equals' type=.C origin=null + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' @0:0..4:1 CONST Boolean type=kotlin.Boolean value=false @0:0..4:1 WHEN type=kotlin.Unit origin=null @0:0..4:1 BRANCH - @0:0..4:1 CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null - @0:0..4:1 CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Any flags:[]' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.C flags:[val]' type=.C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + @0:0..4:1 CALL 'public final fun NOT (arg0: kotlin.Boolean): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + @0:0..4:1 CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + @0:0..4:1 CALL 'public final fun (): kotlin.Any declared in .C' type=kotlin.Any origin=GET_PROPERTY + @0:0..4:1 GET_VAR ': .C declared in .C.equals' type=.C origin=null + @0:0..4:1 CALL 'public final fun (): kotlin.Any declared in .C' type=kotlin.Any origin=GET_PROPERTY + @0:0..4:1 GET_VAR 'val tmp0_other_with_cast: .C [val] declared in .C.equals' type=.C origin=null + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' @0:0..4:1 CONST Boolean type=kotlin.Boolean value=false - @0:0..4:1 RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]' + @0:0..4:1 RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' @0:0..4:1 CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/sourceRanges/declarations/topLevelFuns.txt b/compiler/testData/ir/sourceRanges/declarations/topLevelFuns.txt index d6157882382..849cc72ddcf 100644 --- a/compiler/testData/ir/sourceRanges/declarations/topLevelFuns.txt +++ b/compiler/testData/ir/sourceRanges/declarations/topLevelFuns.txt @@ -1,9 +1,9 @@ @0:0..19:14 FILE fqName:test fileName:/topLevelFuns.kt - @3:0..14 FUN name:test0 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + @3:0..14 FUN name:test0 visibility:public modality:FINAL <> () returnType:kotlin.Unit @3:12..14 BLOCK_BODY - @9:0..14 FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + @9:0..14 FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit @9:12..14 BLOCK_BODY - @15:0..14 FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] + @15:0..14 FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit @15:12..14 BLOCK_BODY - @19:0..14 FUN name:test3 visibility:private modality:FINAL <> () returnType:kotlin.Unit flags:[] + @19:0..14 FUN name:test3 visibility:private modality:FINAL <> () returnType:kotlin.Unit @19:12..14 BLOCK_BODY diff --git a/compiler/testData/ir/sourceRanges/declarations/topLevelProperties.txt b/compiler/testData/ir/sourceRanges/declarations/topLevelProperties.txt index d4ffd8cc2b3..245aaf86c9a 100644 --- a/compiler/testData/ir/sourceRanges/declarations/topLevelProperties.txt +++ b/compiler/testData/ir/sourceRanges/declarations/topLevelProperties.txt @@ -1,131 +1,131 @@ @0:0..68:32 FILE fqName:test fileName:/topLevelProperties.kt - @3:0..14 PROPERTY name:test0 visibility:public modality:FINAL flags:[val] - @3:0..14 FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public flags:[final,static] + @3:0..14 PROPERTY name:test0 visibility:public modality:FINAL [val] + @3:0..14 FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public [final,static] @3:12..14 EXPRESSION_BODY @3:12..14 CONST Int type=kotlin.Int value=42 - @3:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @3:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @3:0..14 BLOCK_BODY - @3:0..14 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @3:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - @9:0..14 PROPERTY name:test1 visibility:public modality:FINAL flags:[val] - @9:0..14 FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static] + @3:0..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @3:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + @9:0..14 PROPERTY name:test1 visibility:public modality:FINAL [val] + @9:0..14 FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] @9:12..14 EXPRESSION_BODY @9:12..14 CONST Int type=kotlin.Int value=42 - @9:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @9:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @9:0..14 BLOCK_BODY - @9:0..14 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @9:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - @12:0..15:14 PROPERTY name:test2 visibility:public modality:FINAL flags:[val] - @12:0..15:14 FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static] + @9:0..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @9:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + @12:0..15:14 PROPERTY name:test2 visibility:public modality:FINAL [val] + @12:0..15:14 FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] @15:12..14 EXPRESSION_BODY @15:12..14 CONST Int type=kotlin.Int value=42 - @15:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @15:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @15:0..14 BLOCK_BODY - @15:0..14 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @15:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public flags:[final,static]' type=kotlin.Int origin=null - @18:0..19:14 PROPERTY name:test3 visibility:private modality:FINAL flags:[val] - @18:0..19:14 FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private flags:[final,static] + @15:0..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @15:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null + @18:0..19:14 PROPERTY name:test3 visibility:private modality:FINAL [val] + @18:0..19:14 FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private [final,static] @19:12..14 EXPRESSION_BODY @19:12..14 CONST Int type=kotlin.Int value=42 - @19:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> () returnType:kotlin.Int flags:[] + @19:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> () returnType:kotlin.Int @19:0..14 BLOCK_BODY - @19:0..14 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> () returnType:kotlin.Int flags:[]' - @19:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private flags:[final,static]' type=kotlin.Int origin=null - @22:0..20 PROPERTY name:test4 visibility:public modality:FINAL flags:[val] - @22:10..20 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @19:0..14 RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in test' + @19:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private [final,static] ' type=kotlin.Int origin=null + @22:0..20 PROPERTY name:test4 visibility:public modality:FINAL [val] + @22:10..20 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int @22:18..20 BLOCK_BODY - @22:18..20 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + @22:18..20 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' @22:18..20 CONST Int type=kotlin.Int value=42 - @25:0..26:14 PROPERTY name:test5 visibility:public modality:FINAL flags:[val] - @26:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @25:0..26:14 PROPERTY name:test5 visibility:public modality:FINAL [val] + @26:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int @26:12..14 BLOCK_BODY - @26:12..14 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + @26:12..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' @26:12..14 CONST Int type=kotlin.Int value=42 - @29:0..33:14 PROPERTY name:test6 visibility:public modality:FINAL flags:[val] - @33:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @29:0..33:14 PROPERTY name:test6 visibility:public modality:FINAL [val] + @33:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int @33:12..14 BLOCK_BODY - @33:12..14 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + @33:12..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' @33:12..14 CONST Int type=kotlin.Int value=42 - @36:0..40:14 PROPERTY name:test7 visibility:public modality:FINAL flags:[val] - @40:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @36:0..40:14 PROPERTY name:test7 visibility:public modality:FINAL [val] + @40:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int @40:12..14 BLOCK_BODY - @40:12..14 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' + @40:12..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' @40:12..14 CONST Int type=kotlin.Int value=42 - @43:0..14 PROPERTY name:test8 visibility:public modality:FINAL flags:[var] - @43:0..14 FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[static] + @43:0..14 PROPERTY name:test8 visibility:public modality:FINAL [var] + @43:0..14 FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public [static] @43:12..14 EXPRESSION_BODY @43:12..14 CONST Int type=kotlin.Int value=42 - @43:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @43:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @43:0..14 BLOCK_BODY - @43:0..14 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @43:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - @43:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - @43:0..14 VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + @43:0..14 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @43:0..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + @43:0..14 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + @43:0..14 VALUE_PARAMETER name: index:0 type:kotlin.Int @43:0..14 BLOCK_BODY - @43:0..14 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - @43:0..14 GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @46:0..27 PROPERTY name:test9 visibility:public modality:FINAL flags:[var] - @46:0..27 FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public flags:[static] + @43:0..14 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + @43:0..14 GET_VAR ': kotlin.Int declared in test.' type=kotlin.Int origin=null + @46:0..27 PROPERTY name:test9 visibility:public modality:FINAL [var] + @46:0..27 FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public [static] @46:12..14 EXPRESSION_BODY @46:12..14 CONST Int type=kotlin.Int value=42 - @46:0..27 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @46:0..27 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @46:0..27 BLOCK_BODY - @46:0..27 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @46:0..27 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - @46:24..27 FUN name: visibility:private modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - @46:24..27 VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + @46:0..27 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @46:0..27 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + @46:24..27 FUN name: visibility:private modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + @46:24..27 VALUE_PARAMETER name: index:0 type:kotlin.Int @46:24..27 BLOCK_BODY - @46:24..27 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - @46:24..27 GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @49:0..50:15 PROPERTY name:test10 visibility:public modality:FINAL flags:[var] - @49:0..50:15 FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public flags:[static] + @46:24..27 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + @46:24..27 GET_VAR ': kotlin.Int declared in test.' type=kotlin.Int origin=null + @49:0..50:15 PROPERTY name:test10 visibility:public modality:FINAL [var] + @49:0..50:15 FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public [static] @49:13..15 EXPRESSION_BODY @49:13..15 CONST Int type=kotlin.Int value=42 - @49:0..50:15 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @49:0..50:15 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @49:0..50:15 BLOCK_BODY - @49:0..50:15 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @49:0..50:15 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - @50:12..15 FUN name: visibility:private modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit flags:[] - @50:12..15 VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] + @49:0..50:15 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @49:0..50:15 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + @50:12..15 FUN name: visibility:private modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit + @50:12..15 VALUE_PARAMETER name: index:0 type:kotlin.Int @50:12..15 BLOCK_BODY - @50:12..15 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=null - @50:12..15 GET_VAR 'VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @53:0..54:32 PROPERTY name:test11 visibility:public modality:FINAL flags:[var] - @53:0..54:32 FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public flags:[static] + @50:12..15 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=null + @50:12..15 GET_VAR ': kotlin.Int declared in test.' type=kotlin.Int origin=null + @53:0..54:32 PROPERTY name:test11 visibility:public modality:FINAL [var] + @53:0..54:32 FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public [static] @53:13..15 EXPRESSION_BODY @53:13..15 CONST Int type=kotlin.Int value=42 - @53:0..54:32 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @53:0..54:32 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @53:0..54:32 BLOCK_BODY - @53:0..54:32 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @53:0..54:32 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - @54:4..32 FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - @54:8..13 VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + @53:0..54:32 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @53:0..54:32 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + @54:4..32 FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + @54:8..13 VALUE_PARAMETER name:value index:0 type:kotlin.Int @54:15..32 BLOCK_BODY - @54:17..22 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=EQ - @54:25..30 GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @57:0..61:32 PROPERTY name:test12 visibility:public modality:FINAL flags:[var] - @57:0..61:32 FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public flags:[static] + @54:17..22 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=EQ + @54:25..30 GET_VAR 'value: kotlin.Int declared in test.' type=kotlin.Int origin=null + @57:0..61:32 PROPERTY name:test12 visibility:public modality:FINAL [var] + @57:0..61:32 FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public [static] @57:13..15 EXPRESSION_BODY @57:13..15 CONST Int type=kotlin.Int value=42 - @57:0..61:32 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @57:0..61:32 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @57:0..61:32 BLOCK_BODY - @57:0..61:32 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @57:0..61:32 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - @61:4..32 FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - @61:8..13 VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + @57:0..61:32 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @57:0..61:32 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + @61:4..32 FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + @61:8..13 VALUE_PARAMETER name:value index:0 type:kotlin.Int @61:15..32 BLOCK_BODY - @61:17..22 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=EQ - @61:25..30 GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null - @64:0..68:32 PROPERTY name:test13 visibility:public modality:FINAL flags:[var] - @64:0..68:32 FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public flags:[static] + @61:17..22 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=EQ + @61:25..30 GET_VAR 'value: kotlin.Int declared in test.' type=kotlin.Int origin=null + @64:0..68:32 PROPERTY name:test13 visibility:public modality:FINAL [var] + @64:0..68:32 FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public [static] @64:13..15 EXPRESSION_BODY @64:13..15 CONST Int type=kotlin.Int value=42 - @64:0..68:32 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + @64:0..68:32 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int @64:0..68:32 BLOCK_BODY - @64:0..68:32 RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' - @64:0..68:32 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Int origin=null - @68:4..32 FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit flags:[] - @68:8..13 VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] + @64:0..68:32 RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in test' + @64:0..68:32 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public [static] ' type=kotlin.Int origin=null + @68:4..32 FUN name: visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Unit + @68:8..13 VALUE_PARAMETER name:value index:0 type:kotlin.Int @68:15..32 BLOCK_BODY - @68:17..22 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public flags:[static]' type=kotlin.Unit origin=EQ - @68:25..30 GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null + @68:17..22 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:public [static] ' type=kotlin.Unit origin=EQ + @68:25..30 GET_VAR 'value: kotlin.Int declared in test.' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/sourceRanges/kt17108.txt b/compiler/testData/ir/sourceRanges/kt17108.txt index 3d83dd802f9..529cc06c268 100644 --- a/compiler/testData/ir/sourceRanges/kt17108.txt +++ b/compiler/testData/ir/sourceRanges/kt17108.txt @@ -1,24 +1,24 @@ @0:0..26:1 FILE fqName: fileName:/kt17108.kt - @4:0..26:1 CLASS INTERFACE name:Boolean modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] - @4:0..26:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Boolean flags:[] - @8:20..38 FUN name:not visibility:public modality:ABSTRACT <> ($this:.Boolean) returnType:.Boolean flags:[] - @8:4..38 VALUE_PARAMETER name: type:.Boolean flags:[] - @13:10..42 FUN name:and visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:.Boolean flags:[] - @13:4..42 VALUE_PARAMETER name: type:.Boolean flags:[] - @13:18..32 VALUE_PARAMETER name:other index:0 type:.Boolean flags:[] - @18:10..41 FUN name:or visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:.Boolean flags:[] - @18:4..41 VALUE_PARAMETER name: type:.Boolean flags:[] - @18:17..31 VALUE_PARAMETER name:other index:0 type:.Boolean flags:[] - @23:10..42 FUN name:xor visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:.Boolean flags:[] - @23:4..42 VALUE_PARAMETER name: type:.Boolean flags:[] - @23:18..32 VALUE_PARAMETER name:other index:0 type:.Boolean flags:[] - @25:4..38 FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:kotlin.Int flags:[] - @25:4..38 VALUE_PARAMETER name: type:.Boolean flags:[] - @25:18..32 VALUE_PARAMETER name:other index:0 type:.Boolean flags:[] - @4:7..26:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] - @4:0..26:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @4:7..26:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] - @4:7..26:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] - @4:0..26:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] - @4:7..26:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] - @4:0..26:1 VALUE_PARAMETER name: type:kotlin.Any flags:[] + @4:0..26:1 CLASS INTERFACE name:Boolean modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + @4:0..26:1 VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Boolean + @8:20..38 FUN name:not visibility:public modality:ABSTRACT <> ($this:.Boolean) returnType:.Boolean + @8:4..38 VALUE_PARAMETER name: type:.Boolean + @13:10..42 FUN name:and visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:.Boolean + @13:4..42 VALUE_PARAMETER name: type:.Boolean + @13:18..32 VALUE_PARAMETER name:other index:0 type:.Boolean + @18:10..41 FUN name:or visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:.Boolean + @18:4..41 VALUE_PARAMETER name: type:.Boolean + @18:17..31 VALUE_PARAMETER name:other index:0 type:.Boolean + @23:10..42 FUN name:xor visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:.Boolean + @23:4..42 VALUE_PARAMETER name: type:.Boolean + @23:18..32 VALUE_PARAMETER name:other index:0 type:.Boolean + @25:4..38 FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:.Boolean, other:.Boolean) returnType:kotlin.Int + @25:4..38 VALUE_PARAMETER name: type:.Boolean + @25:18..32 VALUE_PARAMETER name:other index:0 type:.Boolean + @4:7..26:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean + @4:0..26:1 VALUE_PARAMETER name: type:kotlin.Any + @4:7..26:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? + @4:7..26:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int + @4:0..26:1 VALUE_PARAMETER name: type:kotlin.Any + @4:7..26:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String + @4:0..26:1 VALUE_PARAMETER name: type:kotlin.Any